标签:
闲来无事,便想寻找大师级别优化SQL脚本案例,也算是读后留点笔记,摘录内容都会链接到所参考网址,如有冒犯,还望博主见谅;有些文章只有多动手多动脑才能理解其中的意思,看了需要实际操作,才不枉大师们的良苦用心;
一、正确的建立索引 [摘录:我是如何在SQLServer中处理每天四亿三千万记录的]
首先,我们需要明白几个索引的要点:
where MgrObjId=‘‘ and Id=‘‘ and Dtime=‘‘
就会采用索引查找,而where Dtime=‘‘ and MgrObjId=‘‘ and Id=‘‘
则不一定会采用索引查找。如何在SQLServer中处理亿万级别的数据(历史数据),可以按以下方面进行:
ROW_NUMBER
的分页应该是最高效的了,而且兼容SQLServer2005以后的数据库ROW_NUMBER
分页在大页数时存在性能问题,可以通过一些小技巧进行规避
where
条件的表放到分页的cte外面where
条件的表过多,可以考虑把不参与分页的表先做一个临时表,减少IOhash join
可以减少io,从而获得很好的性能使用with(forceseek)
可以强制查询因此进行索引查询
标签:
原文地址:http://www.cnblogs.com/xibei666/p/4238440.html