2011-01-19 10 views
0

誰も私のクエリを改善する方法を提案することができます、それはサイトマップとtheres 80000ページ、したがって制限のために使用されます。MySql、誰でも私のクエリ/インデックスを改善する方法を提案できますか?

相続人は私のクエリ

SELECT PageName 
FROM pads 
WHERE RemoveMeDate = '2001-01-01 00:00:00' 
ORDER BY PadID DESC 
LIMIT 20000 , 30000 

相続人は、相続人のインデックスは、私はすでに

alt text

+2

希望する改善の目標は何ですか? – Bjoern

+0

それを速くするには1.9秒 – Jules

答えて

0

すべてのインデックスを使用してないを試してみてください。 テーブル全体にいくつの行がありますか?

私は、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で終わる で終了できます。これらのキーワード は、今後の拡張子 の昇順または降順の指定に使用できます。 インデックス値の保存。現在、彼らは が解析されますが無視されます。インデックス値 は常に昇順に格納されます。

+0

私は知らないなぜ私はテストサーバー上の方がずっと遅いマシンでも良い結果を得ますが、ライブサーバーではタイムアウトします。 – Jules

+0

ボリュームに関連すると思われますか? 10kのブックマーク検索(PageNameを取得するためのインデックスキーからデータページへ)は些細なものではありません – RichardTheKiwi

+0

はい、私はそう思う、私は私のサイトマップを再考する必要があると思う。 – Jules

2

このクエリの最適な指標は、おそらくだろうを持って

alt text

をEXPLAINマイコンビネーションカラム上のアジテーションインデックスRemoveMeDate,PadIDおよびPageName

+0

私はちょうどそのインデックスを追加しましたが、改善はありません。それ以上の提案はどうですか? – Jules

+0

(最大)30000行を1.9秒で取得することは、必ずしもパフォーマンスの観点から悪いとは限りません。問題がネットワーク内やクライアント側のどこにもないことは確かですか? – Tommi

0

正しいインデックスが自動的に選択されていない場合は、「強制インデックス」または「インデックスを使用する」を調べる必要があります。

http://dev.mysql.com/doc/refman/5.1/en/index-hints.html

+0

私はインデックスRemoveMeDate、PadID、およびPageNameを追加しました(上記のTommiによって提案されました)そして 'FROMパッドUSE INDEX(remmeda_padid_pagename)'を追加しましたが、改善はありません – Jules

+0

強制インデックスは役に立ちません – Jules

関連する問題