Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.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
使用SQL获取大数据表中数据计数的最佳方法_Sql_Postgresql - Fatal编程技术网

使用SQL获取大数据表中数据计数的最佳方法

使用SQL获取大数据表中数据计数的最佳方法,sql,postgresql,Sql,Postgresql,我有一个包含1200万数据的表,我想得到符合我的标准的数据计数。表是索引良好的,当我想测试最坏的情况时,获取表中所有记录的计数将花费数小时使用 SELECT count(id) FROM big_table WHERE date > xxx AND date < yyy 选择计数(id) 从大桌子 其中日期>xxx 日期

我有一个包含1200万数据的表,我想得到符合我的标准的数据计数。表是索引良好的,当我想测试最坏的情况时,获取表中所有记录的计数将花费数小时使用

SELECT count(id) 
FROM big_table 
WHERE date > xxx  
  AND date < yyy
选择计数(id)
从大桌子
其中日期>xxx
日期

有谁对使用SQL在java中获取计数有更好的想法吗?

我正在研究同样的问题,我在本文中找到了一个可能的解决方案:


建议的解决方案是Postgres-specific,并提供受特定查询影响的行的估计值,而不是确切的计数

您确定
date
已编入索引吗?日期的类型是什么?添加表架构更新您的问题。。使用相关索引..和查询的真实代码示例..(不是xxx和yyy)请回答您的问题,并为相关表(包括所有索引)添加
create table
语句,以及使用
explain(analyze,verbose)
生成的执行计划。请,@RichardSchneider:Yes date是一个时间戳列,它被索引了。然后显示解释输出。