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