使用SQL获取大数据表中数据计数的最佳方法
我有一个包含1200万数据的表,我想得到符合我的标准的数据计数。表是索引良好的,当我想测试最坏的情况时,获取表中所有记录的计数将花费数小时使用使用SQL获取大数据表中数据计数的最佳方法,sql,postgresql,Sql,Postgresql,我有一个包含1200万数据的表,我想得到符合我的标准的数据计数。表是索引良好的,当我想测试最坏的情况时,获取表中所有记录的计数将花费数小时使用 SELECT count(id) FROM big_table WHERE date > xxx AND date < yyy 选择计数(id) 从大桌子 其中日期>xxx 日期
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是一个时间戳列,它被索引了。然后显示解释输出。