日期:2014-05-17  浏览次数:20460 次

大数据库表的查询问题
我这边有一个表,需要查询某个名称的每个月的最大值,最小值,平均值和所有值的和,一个月的数据大致有1000W-2000W条左右,现在网页上因为查询速度太慢出错了,我想知道有什么好的方法可以加快查询速度,大致可以优化到可以在多长时间内查询完成,表里面有时间,名称和值这三个主要的数据。

------解决方案--------------------
1)建立索引
2)在後台計算,前台只取計算結果.
------解决方案--------------------
这样的大数据量统计工作,不建议由客户端每次调用时都算一遍.即使有索引..

建议新建一个统计表,每月自动计算后填入,查询时直接查询统计表即可.
------解决方案--------------------
优化这东西很难有一个准确的结构,首先的确建议在后台运算,前端用来展示和操作即可。在需要做聚合运算的列和where条件,主要是时间列上加一个非聚集索引试试。另外可以测试是否可以使用“计算列”这个功能来预先运算出来。
------解决方案--------------------
--#1.建立复合索引:(名称,时间),因为你是统计某一名称的某一段时间的数据
--#2.如果建立索引后,还是太慢。那只能时统计再汇总了。比如,按时间,一周统计一次,月底再从周统计表中汇总出月统计