すべてのインデックスを使用してないを試してみてください。 テーブル全体にいくつの行がありますか?
私は、RemoveMeDateだけで一致する約48k行の中から10k行を探していることに気付きました。テーブルは大きくなければならず、テーブルの大部分を選択する必要があります。
SELECT PageName
FROM pads USE INDEX()
WHERE RemoveMeDate = '2001-01-01 00:00:00'
ORDER BY PadID DESC
LIMIT 20000 , 30000
インデックスを使用しないで、テーブルをスキャンするだけです。 これで問題が解決しない場合や、遅い場合は、DESCを注文する特定のインデックスを作成してください。それはインデックスが「PadID DESC」を作成、再にもかかわらず、それは無視されていることを自動的に
SELECT PageName
FROM pads USE INDEX(IX_pads_rmd_iddesc)
WHERE RemoveMeDate = '2001-01-01 00:00:00'
ORDER BY PadID DESC
LIMIT 20000 , 30000
ノートを選択されない場合にはFORCE INDEXと併せて2
以下
CREATE INDEX IX_pads_rmd_iddesc ON pads (RemoveMeDate, PadID DESC, PageName)
CREATE INDEX IX_pads_rmd_iddesc ON pads (RemoveMeDate, PadID DESC)
のいずれかを試してくださいMySQLによって。ある日、それが実装されると、それが崩壊することを望むことができます。
index_col_nameの指定は、ASCまたはDESCで終わる で終了できます。これらのキーワード は、今後の拡張子 の昇順または降順の指定に使用できます。 インデックス値の保存。現在、彼らは が解析されますが無視されます。インデックス値 は常に昇順に格納されます。
希望する改善の目標は何ですか? – Bjoern
それを速くするには1.9秒 – Jules