多张百万行记录表关联查询非常慢,如何解决!!

xuyi1979 2017-02-27 04:44:47
现在在维护一个项目,其中有个报表是由近10张百万条数据表的join查询,现在性能非常差,尝试过根据关联条件加索引、建立视图等方法没有效果,即使是查询top(50)也需要半小时才出来。但每个表单独查询就非常快,所以我想有没有一种方案,在不改原来系统代码的情况下,有没有类似于oracle实体视图的功能,能定时将视图的数据存到物理实体表中,这样报表查询只需查一个表就可以了。请教各位!有什么好的建议和方案,谢谢指导!
...全文
546 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwfxgm 2017-02-28
  • 打赏
  • 举报
回复
希望贴出代码,一起研究研究。
昵称被占用了 2017-02-27
  • 打赏
  • 举报
回复
首先要在查询字段建立索引
Tiger_Zhao 2017-02-27
  • 打赏
  • 举报
回复
既然“每个表单独查询就非常快”,说明你的索引没有建对,这个报表的查询无法利用索引。
0与1之间 2017-02-27
  • 打赏
  • 举报
回复
可以试试索引视图
卖水果的net 2017-02-27
  • 打赏
  • 举报
回复
并且建议一个 clustered 唯一索引,就可以物化;
卖水果的net 2017-02-27
  • 打赏
  • 举报
回复
创建视图时,增加 WITH SCHEMABINDING 选项。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧