0

特定のページ記事にコメントが作成された最新の日付を検索するクエリがあります。

SELECT created_on , created_by_name, created_by_id , body 
FROM ac2012.acx_comments WHERE created_on IN (
SELECT MAX(created_on)
FROM ac2012.acx_comments WHERE parent_id = '642')

クエリは機能しており、parent_id 642 の最新のコメント日付が出力されています。

ただし、このクエリには約 4 秒かかります。これは、平均してわずか 0.1 秒しかかからないほとんどのクエリと比較されます。

私は疑問に思っています-なぜそんなに時間がかかるのか、どうすれば速くなるのですか? たとえば、parent_id "642" に制限すると、クエリは 3 つのコメント行だけを調べて開始されると思いました...これにより、created_on の最大値の計算にそれほど時間がかからなくなります。

任意の提案をいただければ幸いです。おそらく、速度を最適化するために WHERE を別の場所に配置する必要がありますか?

ここでテーブル スキーマを参照してください: https://docs.google.com/spreadsheet/pub?key=0AjkotydroXWqdHBEOHAtalJpazROaHh3R0VpM0hZSlE&output=html

4

1 に答える 1