MySQL LIKE 演算子の最適化
質問: ワイルドカード (例: '%test%) を使用すると、MySQL LIKE 演算子のパフォーマンスは向上しますか? ')?
答え: はい、MySQL はクエリで特定のパターンを使用するときに LIKE 演算子のパフォーマンスを最適化できます。
-
プレフィックス ワイルドカード: クエリが foo LIKE 'abc%' または foo LIKE 'abc�f%' に似ている場合、MySQL はインデックスを利用できます。最初のワイルドカードより前の文字列の任意の部分にインデックスを使用できます。
-
どこでも一致する全文検索: 文字列内の任意の場所に単語を見つける必要がある場合は、次の使用を検討してください。代わりに FULLTEXT インデックスが使用されます。 FULLTEXT インデックスは効率的な単語のマッチングを目的として特別に設計されており、このようなシナリオではワイルドカードを使用した LIKE 演算子よりも優れたパフォーマンスを発揮します。
追加情報:
- MySQL インデックス: http://dev.mysql.com/doc/refman/5.1/en/mysql-indexes.html
- 全文検索: http://dev.mysql.com/doc/refman/5.0/en/全文検索.html
以上がワイルドカードを使用して MySQL LIKE 演算子のパフォーマンスを向上するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。