大きなテキストデータを含む列があるテーブルがあります。 10行(テーブルには31レコードしかない)のクエリには20秒以上かかります。大きいサイズのフィールドを削除すると、クエリはすばやく実行されます。 1行(idによる)のクエリは、常に迅速に実行されます。大きなサイズのテーブルのクエリ
多くの行のクエリをより高速に実行するにはどうすればよいですか?
クエリは、この
SELECT DISTINCT (a.id), a.field_1, a.field_2, a.field_3
, a.field_4, a.field_5, a.filed_6, ...
FROM table_a a, table_b b
WHERE a.field_8 = 'o'
ORDER BY a.field_2 DESC
LIMIT 10;
'DISTINCT'は**ない**機能です。使用している構文では、ID列だけではなく、すべての列で別名を使用します。 –
@a_horse_with_no_name、はい、あなたは正しいです!今はもっと速くなりますが、私たちが望むほど速くはありません。多分何かがあるのでしょうか? –
クエリプランがない場合のパフォーマンス分析はほとんど推測ですが、DISTINCTをONにした後、クエリにEXPLAIN ANALYZEの出力を投稿してください。 – dbenhur