一般に、ワイルドカードを使用する場合は 'LIKE' よりも '=' の方が効率的であると考えられています。 SQL クエリのワイルドカード。ただし、常にそうであるとは限りません。
次の例を考えてみましょう:
SELECT * FROM table WHERE value LIKE 'abc%'
SELECT * FROM table WHERE value = 'abcdefghijklmn'
この場合、「LIKE」は最初の 3 文字を比較するだけで検索できます。マッチ。 「=」は文字列全体を比較する必要があります。したがって、このシナリオでは「LIKE」が有利であるように見えるかもしれません。
ただし、インデックスの使用は、「LIKE」クエリのパフォーマンスに影響を与える可能性があります。 MyITForum の Jonathan Nelson によるこの記事で述べられているように、
したがって、ワイルドカードを使用した「LIKE」クエリと「=」クエリのパフォーマンスは、インデックスの使用法、ワイルドカードの場所、使用されている特定の SQL エンジンなどのさまざまな要因に依存します。
以上がSQL の「LIKE」と「=」: ワイルドカードのマッチングがより効率的になるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。