导航:
论坛 -> DELPHI技术
斑竹:liumazi,sephil
作者:
2004/5/8 16:36:22
标题:
如何加快count(*)语句的统计速度???
浏览:1064
加入我的收藏
楼主:
由于数据量有上万条每次在计算count(*)的值是总要话上一两分钟时间,有时甚至更长的时间,有什么办法能让这个计算能很快啊。 目前的具体工作是在客户端用count(*)语句从oracle服务器端统计数据总量
----------------------------------------------
-
作者:
bios (阿贡)
★☆☆☆☆
-
盒子中级会员
2004/5/8 20:33:53
2楼:
那是 sql语句 的算法问题 ,在快的算法 也要时间的 你学过 数据结构 的基本功就知道 你写算法 是辛苦的!
----------------------------------------------
作者:
2004/5/8 20:48:09
3楼:
可以用在数据库建立索引视图的方法解决!这样取的时候取的现成的记录,不用花时间统计。 大致的语句如下: create view view1 as select count(*) from ... create index iv1 on view 不过每次更新这张表都会引起索引视图重新计算count(*) 要综合考虑
----------------------------------------------
-
作者:
2004/5/8 22:12:25
4楼:
hotyei (花心萝卜) 的方法是正确的,一般情况下者可以用count(1)或凑count(0)代替count(*),效率可提高n倍。
----------------------------------------------
www.acreport.com
作者:
2004/5/9 9:25:23
5楼:
count(1)和count(0)所话的时间是1分半钟,而count(*)的时间是1分半多7秒的样子,没有什么本质的区别。
----------------------------------------------
-
作者:
2004/5/9 15:20:06
6楼:
有点夸张啊,一万来条记录,count要一分多钟?不会吧,我的数据库里5万条记录录count才几秒而已,主键设了没有?
----------------------------------------------
www.acreport.com
作者:
2004/5/9 16:08:49
7楼:
10 万条记录, 時間約 0.01 秒 你是怎麼count 的?
----------------------------------------------
-
作者:
2004/5/9 17:00:41
8楼:
我也觉得奇怪Count怎么会那么慢,实在不行的话就建索引吧
----------------------------------------------
-
作者:
2004/5/9 18:01:14
9楼:
你是不是有很复杂的Where子句?
----------------------------------------------
-广袤璀璨的银河,永无止境的梦想(梦无止境游银河) 博客挂了……
作者:
2004/5/9 18:32:53
10楼:
方法就在这里: http://www.jiesky.com/bbs/list.asp?boardid=13
----------------------------------------------
http://www.jiesky.com 共同学习,共同努力!