主キー以外にインデックスはありません。 WHEREステートメントで使用するフィールドにインデックスを作成する必要があります。 1つのフィールドのみにインデックスを付ける必要がある場合、または複数のフィールドの組み合わせは、そのテーブルに対して実行する他のSELECTに依存します。
REGEXP
インデックスはまったく使用できません、LIKE
ワイルドカードで始まらない場合にのみインデックスを使用できます(したがって、LIKE 'a%'
インデックスを使用できますが、LIKE '%a'
できません)、より大きい/より小さい(<>)は通常、インデックスも使用しません。
したがって、code
が残ります およびcheck
田畑。 check
の値は多くの行で同じになると思います 、したがって、インデックスはcode
で始まります 分野。マルチフィールドインデックスは、定義された順序でのみ使用できます...
フィールドcode, check
用に作成されたインデックスを想像してみてください 。このインデックスは、クエリ(WHERE句に両方のフィールドが含まれている場合)で使用できます。また、code
のみのクエリでも使用できます。 フィールドですが、check
のみのクエリではありません フィールド。
ORDER BY id
は重要ですか ?そうでない場合は、省略してください。ソートパスが妨げられ、クエリがより速く終了します。