为了账号安全,请及时绑定邮箱和手机立即绑定

救命! 海量数据多表查询? 提速

救命! 海量数据多表查询? 提速

慕斯709654 2018-11-11 13:20:53
Sql2008 R2 (1)有4个视图,每一个视图,来自6张表, 这个视图有2800万行数据,查询非常慢可能要10个小时,甚至没结果,电脑挂掉,想提速,给点建议吧,有时候,where条件复杂了程序执行几十分钟后挂掉,查不出结果的.(2)每张表之间没有主外建关系,或者没有主键,【但有索引】,因为数据是从HIS系统采集过来的.所有数据只需要查询,不需要修改和删除.(3)大部分表有70-80列, 单个表 最多 600万行记录.(4)用户需要提交非常复杂的 where 条件 以对数据统计. 例如 年月日,姓名,数量,次数,科次等20个以上的条件.(5)过程大概分2步, 1: 按用户提交的where 条件筛选数据,形成一张非常大的 临时表或称做table的.2:在第1步筛选的基础上进行count,sum等40个或以上的统计,再返回结果,可能还有其它嵌套统计或判断每次提交的where 条件是动态的
查看完整描述

2 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

这样的数据量应该不算海量,合理的视图索引应该可以解决,必要的时候用空间换时间也是可以的

查看完整回答
反对 回复 2018-11-15
?
炎炎设计

TA贡献1808条经验 获得超4个赞

数据量过大时,需要考虑数据库结构设计。不能采用单一表设计,也不能唯一依靠索引。

可以试一下千万数据一个表的查询速度。主键、索引、普通列的分别速度。


查看完整回答
反对 回复 2018-11-15
  • 2 回答
  • 0 关注
  • 756 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信