这个查询基本上是:
SELECT DISTINCT "my_table"."foo" from "my_table" WHERE...
假定查询中的DISTINCT部分是导致查询运行缓慢的原因,我省略了查询的其余部分,以避免混淆,因为我主要关心的是Distinct的速度问题(Distinct总是一个缓慢的来源)。涉及的表有250万行数据。这里需要DISTINCT,但未列出具体目的(因为我不想返回修改后的查询,而只是想获取一般信息,关于如何使DBMS层面上的distinct查询运行更快,如果可能的话)。
如何在不改变SQL的情况下(即,无法更改此传入的SQL),使DISTINCT查询更快(特别是使用Postgres 9)?