免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7719 | 回复: 13
打印 上一主题 下一主题

请问如何快速获取一个表中总的记录数(千万条数据)? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-05-24 16:47 |只看该作者 |倒序浏览
select count(id) from table太慢了,有没有其他更快的方法?

论坛徽章:
0
2 [报告]
发表于 2007-05-24 18:01 |只看该作者
看看id上有没有索引

论坛徽章:
0
3 [报告]
发表于 2007-05-24 18:11 |只看该作者
给id加索引

论坛徽章:
0
4 [报告]
发表于 2007-05-24 19:12 |只看该作者
id是主键,自动有索引。还是慢。
具体是有300万条需要2、3秒钟,能否更快呢?

[ 本帖最后由 keddywxn 于 2007-5-24 19:13 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2007-05-24 22:54 |只看该作者
这句SQL执行频率很高?
300w条需要2-3秒钟?
服务器什么配置

论坛徽章:
0
6 [报告]
发表于 2007-05-25 09:22 |只看该作者
原帖由 keddywxn 于 2007-5-24 16:47 发表
select count(id) from table太慢了,有没有其他更快的方法?

如果需要知道表的记录数量比较频繁,有一个笨办法,就是创建一个表,专门存放这个表的记录数,然后在需要关注的表创建insert,delete的trigger,一有变化,就修改记录数表,需要时,直接访问此记录数就可以了呀?!

论坛徽章:
0
7 [报告]
发表于 2007-05-25 10:30 |只看该作者
有必要知道很确切的 big table rwo count马?

论坛徽章:
0
8 [报告]
发表于 2007-05-25 22:49 |只看该作者
可以用sequence。取当前值不就知道记录数了,非常快 。

论坛徽章:
0
9 [报告]
发表于 2007-05-26 13:03 |只看该作者
原帖由 lizhuo 于 2007-5-25 22:49 发表
可以用sequence。取当前值不就知道记录数了,非常快 。


不一定可行,比如记录删除

论坛徽章:
0
10 [报告]
发表于 2007-05-26 13:54 |只看该作者
如果需要知道表的记录数量比较频繁,有一个笨办法,就是创建一个表,专门存放这个表的记录数,然后在需要关注的表创建insert,delete的trigger,一有变化,就修改记录数表,需要时,直接访问此记录数就可以了呀?!
这个方法不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP