我试图在125 am数据库中查询几个表。我发现很难迅速拿回结果!
即使找到一个列的唯一行,也需要超过10分钟。或者我使用命令行或像PHPMyAdmin这样的工具来触发查询,等待时间保持不变。
例如:
SELECT COUNT (DISTINCT column_name) FROM table_name;我担心,如果在这些表上使用联接操作,等待时间将大大增加,而且会更加痛苦。
有谁能提出什么可能的解决办法来迅速拿回统计数字呢?
发布于 2019-06-18 02:34:58
从column_name中选择计数(DISTINCT Table_name);
PostgreSQL代码中实现“计数(不同.)”的部分已经很老了,最近还没有做多少性能方面的工作。例如,它不能利用并行处理或哈希表。您可以使用子查询重写,以便可能利用一些新的技术:
select count(*) from
(select distinct column_name from table_name where column_name is not null) as foo但是,这并不像你想象的那样琐碎。这是一项艰巨的任务,如果输入大量数据,可能需要很长时间。
我担心,如果在这些表上使用联接操作,等待时间将大大增加,而且会更加痛苦。
不要发明需要担心的东西。COUNT(DISTINCT...)的性能很少告诉您连接的性能。编写您想要的查询,然后考虑优化该查询,而不是其他与您想要的查询无关的查询。
简化查询以查看其组件部分可能需要多长时间是有意义的。但COUNT(DISTINCT...)不太可能是如此简单的组件部分。
https://dba.stackexchange.com/questions/240771
复制相似问题