统计符合条件的记录数太慢
请问有没有什么方法能提高统计速度呀?(表上有一个簇索引和一个非簇索引,建了索引统计速度是快点,但只是相对快点,总的来说还是慢)
14 个解决方案
#1
一般这种情况都是靠索引,如果觉得索引都很慢就不知道怎么办了。关注一下
#2
索引 或者加很多的条件
#3
有没有统计视图?
#4
是在查询分析器里都慢吗?
#5
1 SQL语句优化。
2 索引。
3 硬件升级。
2 索引。
3 硬件升级。
#6
从表设计上入手,能否把表结构拆开成两个表
把像text这样的字段单独放到一个表里
把像text这样的字段单独放到一个表里
#7
从表设计上入手,能否把表结构拆开成两个表
把像text这样的字段单独放到一个表里
-------------------------------------------------
表里确实是存在text字段,但查询条件里有关于text的判断(全文查询),而且现在text字段中的数据不会超过500个字符,如果分开就需要两个表再连接,是不是得不偿失呢?
我用的是分页的存储过程,当第一页的时候统计这个数量,第二页以后就不统计了,发现不统计的时候速度很快(不到一秒),可是第一页统计的时候就很慢,今天居然还超时了一次
使用web查询和使用查询分析器都差不多
把像text这样的字段单独放到一个表里
-------------------------------------------------
表里确实是存在text字段,但查询条件里有关于text的判断(全文查询),而且现在text字段中的数据不会超过500个字符,如果分开就需要两个表再连接,是不是得不偿失呢?
我用的是分页的存储过程,当第一页的时候统计这个数量,第二页以后就不统计了,发现不统计的时候速度很快(不到一秒),可是第一页统计的时候就很慢,今天居然还超时了一次
使用web查询和使用查询分析器都差不多
#8
大家说向google和baidu这样的,我想他们肯定是将查询关键字及其数量都保存起来,然后我们输入关键字查询的时候,不是现去统计,而是从那个关键字表(或其他存储方式)中找相应关键字及其数量,然后显示.
但问题是,当我输入一个关键字,是没有人查询过的(也就是关键字表中没有这个关键字的时候),他怎么办的?现去统计?那岂不是也很慢吗?可我从来就没有遇到过慢的时候呀!(好象最慢也没有超过1秒的)
但问题是,当我输入一个关键字,是没有人查询过的(也就是关键字表中没有这个关键字的时候),他怎么办的?现去统计?那岂不是也很慢吗?可我从来就没有遇到过慢的时候呀!(好象最慢也没有超过1秒的)
#9
什么数据库?如果是access有可能这么慢
大型数据库,几百万条数据,查询count(1)应该在10秒左右,你检查下索引吧
大型数据库,几百万条数据,查询count(1)应该在10秒左右,你检查下索引吧
#10
CathySun118(斯年)
10秒左右已经不能满足我的要求了,因为不统计数量的时候用不了1秒,可是一统计就要白白多9秒多的时间
我也知道数据量越多统计就越慢,因为不管怎么说,就算有索引不至于全表扫描,但如果查询结果有几万甚至几十万,那统计的时候和全表扫描还有什么区别?
所以我想问的是:有什么其他方法能让我获取一个大概的数量,不要求精确(但也不能差的太离谱),但要求快速,就好象上边说的百度和google一样
10秒左右已经不能满足我的要求了,因为不统计数量的时候用不了1秒,可是一统计就要白白多9秒多的时间
我也知道数据量越多统计就越慢,因为不管怎么说,就算有索引不至于全表扫描,但如果查询结果有几万甚至几十万,那统计的时候和全表扫描还有什么区别?
所以我想问的是:有什么其他方法能让我获取一个大概的数量,不要求精确(但也不能差的太离谱),但要求快速,就好象上边说的百度和google一样
#11
要说的大家都说了,我没有更好的办法了,只能关注一下,等待高手,呵呵
#12
关注,表里有1亿多数据,每月大概还要增加260多万数据。查询速度慢。
#13
关注
希望有高手能提出合理的解决办法!
希望有高手能提出合理的解决办法!
#14
http://topic.csdn.net/t/20021227/00/1303705.html
#1
一般这种情况都是靠索引,如果觉得索引都很慢就不知道怎么办了。关注一下
#2
索引 或者加很多的条件
#3
有没有统计视图?
#4
是在查询分析器里都慢吗?
#5
1 SQL语句优化。
2 索引。
3 硬件升级。
2 索引。
3 硬件升级。
#6
从表设计上入手,能否把表结构拆开成两个表
把像text这样的字段单独放到一个表里
把像text这样的字段单独放到一个表里
#7
从表设计上入手,能否把表结构拆开成两个表
把像text这样的字段单独放到一个表里
-------------------------------------------------
表里确实是存在text字段,但查询条件里有关于text的判断(全文查询),而且现在text字段中的数据不会超过500个字符,如果分开就需要两个表再连接,是不是得不偿失呢?
我用的是分页的存储过程,当第一页的时候统计这个数量,第二页以后就不统计了,发现不统计的时候速度很快(不到一秒),可是第一页统计的时候就很慢,今天居然还超时了一次
使用web查询和使用查询分析器都差不多
把像text这样的字段单独放到一个表里
-------------------------------------------------
表里确实是存在text字段,但查询条件里有关于text的判断(全文查询),而且现在text字段中的数据不会超过500个字符,如果分开就需要两个表再连接,是不是得不偿失呢?
我用的是分页的存储过程,当第一页的时候统计这个数量,第二页以后就不统计了,发现不统计的时候速度很快(不到一秒),可是第一页统计的时候就很慢,今天居然还超时了一次
使用web查询和使用查询分析器都差不多
#8
大家说向google和baidu这样的,我想他们肯定是将查询关键字及其数量都保存起来,然后我们输入关键字查询的时候,不是现去统计,而是从那个关键字表(或其他存储方式)中找相应关键字及其数量,然后显示.
但问题是,当我输入一个关键字,是没有人查询过的(也就是关键字表中没有这个关键字的时候),他怎么办的?现去统计?那岂不是也很慢吗?可我从来就没有遇到过慢的时候呀!(好象最慢也没有超过1秒的)
但问题是,当我输入一个关键字,是没有人查询过的(也就是关键字表中没有这个关键字的时候),他怎么办的?现去统计?那岂不是也很慢吗?可我从来就没有遇到过慢的时候呀!(好象最慢也没有超过1秒的)
#9
什么数据库?如果是access有可能这么慢
大型数据库,几百万条数据,查询count(1)应该在10秒左右,你检查下索引吧
大型数据库,几百万条数据,查询count(1)应该在10秒左右,你检查下索引吧
#10
CathySun118(斯年)
10秒左右已经不能满足我的要求了,因为不统计数量的时候用不了1秒,可是一统计就要白白多9秒多的时间
我也知道数据量越多统计就越慢,因为不管怎么说,就算有索引不至于全表扫描,但如果查询结果有几万甚至几十万,那统计的时候和全表扫描还有什么区别?
所以我想问的是:有什么其他方法能让我获取一个大概的数量,不要求精确(但也不能差的太离谱),但要求快速,就好象上边说的百度和google一样
10秒左右已经不能满足我的要求了,因为不统计数量的时候用不了1秒,可是一统计就要白白多9秒多的时间
我也知道数据量越多统计就越慢,因为不管怎么说,就算有索引不至于全表扫描,但如果查询结果有几万甚至几十万,那统计的时候和全表扫描还有什么区别?
所以我想问的是:有什么其他方法能让我获取一个大概的数量,不要求精确(但也不能差的太离谱),但要求快速,就好象上边说的百度和google一样
#11
要说的大家都说了,我没有更好的办法了,只能关注一下,等待高手,呵呵
#12
关注,表里有1亿多数据,每月大概还要增加260多万数据。查询速度慢。
#13
关注
希望有高手能提出合理的解决办法!
希望有高手能提出合理的解决办法!
#14
http://topic.csdn.net/t/20021227/00/1303705.html