Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 比从数据库中选择不同的项快吗?_Python_Sql_Sqlite_Optimization - Fatal编程技术网

Python 比从数据库中选择不同的项快吗?

Python 比从数据库中选择不同的项快吗?,python,sql,sqlite,optimization,Python,Sql,Sqlite,Optimization,除此之外还有别的选择吗 SELECT DISTINCT item FROM DB 我已经试过: SELECT item FROM DB group by item 表并没有那么大(30000行),但是这个命令几乎需要6秒钟才能完成。 另一方面,其他查询的执行速度非常快(0.2秒) 可能发生了什么?建议 顺便说一下,这就是我在程序中使用它的方式: BDD.addItems([r[0] for r in cursor.execute("SELECT DISTINCT commodity FR

除此之外还有别的选择吗

SELECT DISTINCT item FROM DB 
我已经试过:

SELECT item FROM DB group by item 
表并没有那么大(30000行),但是这个命令几乎需要6秒钟才能完成。 另一方面,其他查询的执行速度非常快(0.2秒)

可能发生了什么?建议

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

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

确保在不同的列上有索引

0.1太多了

对于资源关键型查询,不应使用
distinct

相反,您必须规范化数据库,将所有项存储在单独的表中,在原始表中只保留指向它们的链接

并从另一张表中计算这些项目。如果索引正确,则所需时间将小于0.01