SQL 'like' と '=' のパフォーマンス: コンテキスト分析
次の場合に 'like' と '=' のどちらのパフォーマンスが優れているかという問題SQL ワイルドカードの使用については過去にも取り上げられていますが、「=」の方が高速であるというのが常識です。ただし、クエリの特定のコンテキストを考慮することが重要です。
列に限られた数の固定のハードコードされた varchar 識別子が含まれており、そのタスクの 1 つに一致するすべての行を選択するというシナリオでは、 「好き」のほうが有利だと思われるかもしれません。 「Like」は最初の数文字の一致をテストするだけで済みますが、「=」は文字列全体を比較する必要があります。
ただし、John Nelson の記事 (アーカイブ: https://web.archive.org/web/20150209022016/http://myitforum.com/cs2/blogs/jnelson/archive/2007/11/16/108354.aspx)、「いいね」によるインデックス使用のルール
したがって、'like' と '= のパフォーマンスは異なります。 ' は、特定のクエリ コンテキスト、ワイルドカードの場所、インデックスの存在によって異なります。ハードコードされた識別子の数が限られている場合、完全な文字列比較では、「like」の方が「=」よりも実際に高速に実行される可能性があります。ただし、特定のユースケースを評価し、インデックスの最適化を検討して、最適なアプローチを決定することが重要です。
以上がSQL `LIKE` と `=`: どちらが他方よりも速いのはいつですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。