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

大型表 视图 如何调优
 
 请教, 
 
 想咨询下 SQL server08性能调优方面的问题. 包括视图性能调优的。因为用到的视图要关联 6~10个表才能拿到数据,还会涉及到行列变换,结果视图的检索超过几分钟,没办法整下去,咋办?
另外,如果 对大型表(》1000w)分区,将来如果不用那个分区字段作查询的话,是不是分区基本没意义呢?

先谢谢各位.

 

------最佳解决方案--------------------
视图要关联 6~10个表
这种情况基本上不合理,要么你的逻辑是可以细化的,要么你根本不应该使用视图,而是存储过程实现需要的功能,而在存储过程中,关联 6~10个表是通过临时表分步关联的。

对大型表(》1000w)分区,将来如果不用那个分区字段作查询的话,是不是分区基本没意义呢?
不对,索引也可以分区,分区的索引配合分区的表一定程度使得大型表在各方面查询的性能都得到提高。


------其他解决方案--------------------
想咨询下 SQL server08性能调优方面的问题. 包括视图性能调优的。因为用到的视图要关联 6~10个表才能拿到数据,还会涉及到行列变换,结果视图的检索超过几分钟,没办法整下去,咋办?

如果有这么多的表来做连接的话 视图就不那么合适了 可以考虑用临时表来解决

另外,如果 对大型表(》1000w)分区,将来如果不用那个分区字段作查询的话,是不是分区基本没意义呢?

先谢谢各位.

分区可以将数据分到N个文件组 N个磁盘上面  可以很好的提高查询速度

------其他解决方案--------------------
如果就是几千万的记录,没必要分区。。
分区需要对底层文件、磁盘作良好设计,否则得不偿失。。
------其他解决方案--------------------
其实你的数据库不大。你查询一条语句。看一下执行计划。再看是否需要建立索引。或是优化索引。
------其他解决方案--------------------
"用到的视图要关联 6~10个表"楼主在查什么高级的性能问题喔? 贴出来让我们学习学习?

分区表可以分散IO到不同的磁盘或磁盘分区上,前提是你分区表的分区有对应到不同磁盘或磁盘分区上.
------其他解决方案--------------------
帮顶等待高手
------其他解决方案--------------------

 谢谢各位的回答. 也不是什么高级的性能问题,是没整过. 
 
 1. 每个表的数据还在增长,要超过 1000w,时间长了会到几kw  
 2. 用临时表的话,存储过程执行完了 数据就没了,速度能上去一点吗?
 3. 不用分区的话,那要看索引了