什么比SELECT DISTINCT item FROM DB更快?

时间:2010-11-13 20:17:16

标签: python sql sqlite optimization

还有其他选择吗?
SELECT DISTINCT item FROM DB 

我已经尝试过了:

SELECT item FROM DB group by item 

表不是那么大(30,000行)但是这个命令需要将近6秒才能完成。 另一方面,其他查询执行速度非常快(0.2秒)。

可能发生了什么?建议?

顺便说一句,这就是我在程序中使用它的方式:

BDD.addItems([r[0] for r in cursor.execute("SELECT DISTINCT commodity FROM DB")])

2 个答案:

答案 0 :(得分:9)

确保在不同列上有索引

答案 1 :(得分:0)

0.1太过分了。

您不应将distinct用于资源关键型查询 您必须规范化您的数据库,将任何项目存储在单独的表中,只留下原始表中的链接。

从其他表中计算这些项目。正确索引,将需要少于0.01