通常のインデックス作成を使用して、そのクエリを改善することはできません。 MySQLインデックスはBツリーです。つまり、インデックス付きの列のプレフィックスをすばやく見つけることができます。しかし、あなたのLIKE
クエリには%
があります 最初は、検索する一意のプレフィックスはありません。したがって、パターンと照合するには、すべての行をスキャンする必要があります。
ただし、MySQLは全文検索もサポートしています。これにより、列内のすべての単語のインデックスが作成され、これらの単語をすばやく見つけることができます。 ドキュメント を参照してください。 詳細については。
LIMIT 10
を使用する場合 、条件を満たす最初の10行が見つかるとすぐにスキャンを停止します。 ORDER BY
も使用しない限り -次に、最初の10を選択する前に行を並べ替えられるように、すべての行を検索する必要があります。