下記のクエリを参照してください。クエリがインデックスを使用し、一時的なファイルとファイルの使用を避けるように、テーブルで作成するインデックスは何ですか?私はインデックスの多くの異なる組み合わせを試して、advice hereを読むが、私はそれを把握していないようだ。私の説明はUsing Where
(インデックスなし)、またはUsing Where Using Temporary, Using Filesort
グループバイス/オーダーのMySQLインデックス
ここでは簡単なクエリです。すべての列は整数です。経験によって
SELECT c1, Sum(c2)
FROM table
WHERE c3 IS NOT NULL
AND c4 = 2011
AND c5 = 0
AND c6 In (6,9,11)
GROUP BY c1
MySQLはテーブルごとに1つのインデックスしか使用できないので、GROUP BYを最適化するためにインデックスにインデックスを置くと、WHERE句が最適化されず、最終的にはより多くの作業が行われるため、 (すなわち全テーブルスキャン)。 –
私はそれを理解していますが、GROUP BY句とWHERE句の両方で使用できる単一のインデックスを作成する方法はありますか? – bradvido