一条查询千万级数据的sql语句,正常查询速度很快,根据其中四个列分组后查询却很慢,请问这是为什么?
3个回答
展开全部
根据其中四列分组后是需要进行全表扫描4次才能得到而正常查询扫描一次就可以,所以很慢,可以建索引来实现分组,这样会加快查询的。
追问
建了,是一个聚集索引,比我分组的列多了一个列名,可以吗??一样还是很慢
追答
可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
根据这4列建一个索引试试,这么多数据,估计是会很慢的,最好先根据查询条件把不需要的数据过滤掉,再分组。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正常查询 应该是走索引的吧。
千万级别来个分组 不慢都难。 我这边一半都是用条件限制查询结果集的大小后,做分组。
千万级别来个分组 不慢都难。 我这边一半都是用条件限制查询结果集的大小后,做分组。
更多追问追答
追问
没有其它的条件限制!!!怎么办
追答
看看这个 ,不知道有没有帮助。 http://blog.csdn.net/strawbingo/archive/2010/04/30/5546154.aspx
在我看来这样的数据量, 还group by ,怎么走都是慢。
如果业务规则是固定的话, 就从后台吧数据直接跑出来,跑到一张表里面。 前台查询。 我感觉SQL不是万能的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询