PostgreSQL 9.5,9.6でこのようなクエリを最適化する方法はありますか?カウントによるフィルタリングによるPostgreSQLクエリの最適化
SELECT x FROM (
SELECT x,count(x) cnt FROM very_big_table WHERE (conditions) GROUP BY x
) sub
WHERE cnt > 10
インデックスのすべてのWHERE
条件とx
にobviosです。その他の提案はありますか?
PostgreSQL 9.5,9.6でこのようなクエリを最適化する方法はありますか?カウントによるフィルタリングによるPostgreSQLクエリの最適化
SELECT x FROM (
SELECT x,count(x) cnt FROM very_big_table WHERE (conditions) GROUP BY x
) sub
WHERE cnt > 10
インデックスのすべてのWHERE
条件とx
にobviosです。その他の提案はありますか?
この目的(集約された列のフィルタ)のために正確に使用されているHAVING()
句を使用してみてください:
SELECT t.x,count(t.x) as cnt
FROM YourTable t
WHERE < >
GROUP BY t.x
HAVING count(t.x) > 10
提案していただきありがとうございますが、パフォーマンスの変化はありません。 –
まあ、WHERE
表現
を上で動作するが、このクエリをスピードアップする方法はありませんhttps://wiki.postgresql.org/wiki/Slow_Query_Questions –