首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从一个庞大的postgres数据库查询结果?

问如何从一个庞大的postgres数据库查询结果?
EN

Database Administration用户
提问于 2019-06-17 23:25:28
回答 1查看 130关注 0票数 0

我试图在125 am数据库中查询几个表。我发现很难迅速拿回结果!

即使找到一个列的唯一行,也需要超过10分钟。或者我使用命令行或像PHPMyAdmin这样的工具来触发查询,等待时间保持不变。

例如:

代码语言:javascript
复制
SELECT COUNT (DISTINCT column_name) FROM table_name;

我担心,如果在这些表上使用联接操作,等待时间将大大增加,而且会更加痛苦。

有谁能提出什么可能的解决办法来迅速拿回统计数字呢?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2019-06-18 02:34:58

从column_name中选择计数(DISTINCT Table_name);

PostgreSQL代码中实现“计数(不同.)”的部分已经很老了,最近还没有做多少性能方面的工作。例如,它不能利用并行处理或哈希表。您可以使用子查询重写,以便可能利用一些新的技术:

代码语言:javascript
复制
select count(*) from 
    (select distinct column_name from table_name where column_name is not null) as foo

但是,这并不像你想象的那样琐碎。这是一项艰巨的任务,如果输入大量数据,可能需要很长时间。

我担心,如果在这些表上使用联接操作,等待时间将大大增加,而且会更加痛苦。

不要发明需要担心的东西。COUNT(DISTINCT...)的性能很少告诉您连接的性能。编写您想要的查询,然后考虑优化该查询,而不是其他与您想要的查询无关的查询。

简化查询以查看其组件部分可能需要多长时间是有意义的。但COUNT(DISTINCT...)不太可能是如此简单的组件部分。

票数 5
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/240771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档