データの取得-SELECTステートメント。
データ操作-INSERT、UPDATE、DELETEステートメント。
より良いデータ取得パフォーマンスが必要だと感じた場合。
大量のデータ操作(挿入、更新...
)が発生するテーブルクエリは、カバーするインデックス(複数の列のインデックス)を処理するときに、インデックス列定義の左から右への列の順序に対処する必要があります。ステートメントの列の順序は重要ではなく、列1、2、および3の順序のみです。インデックスを使用する前に、ステートメントに列1への参照が必要です。列2または3への参照しかない場合、1/2/3のカバーインデックスは使用できませんでした。
MySQLでは、クエリのSELECT /ステートメントごとに使用できるインデックスは1つだけです(サブクエリなどは個別のステートメントと見なされます)。また、MySQLで許可されるテーブルあたりのスペースの量には制限があります。さらに、インデックス付きの列で関数を実行すると、インデックスが役に立たなくなります-IE:
WHERE DATE(datetime_column) = ...