1.With T AS () 中语句会单独生成执行计划
2.MS SQL数据库中已“页”的方式按顺序存储数据,如插入数据,会增加新的页,并将两页中数据平均分配,每一张未填满数据的页称为数据库碎片。
3.避免使用GUID等无序列作为索引
4.页压缩
5.表分区,利用CPU多核特性并行操作数据库
6.数据表数据量较大或join次数较多时时,join方式的自动选择会出现问题,需要在sql中手动设定hash join、merge join或loop join
下面我们通过一个表格简单总结这几种连接方式的消耗和使用场景:[引]
嵌套循环连接 |
合并连接 |
哈希连接 | |
适用场景 |
外层循环小,内存循环条件列有序 |
输入两端都有序 |
数据量大,且没有索引 |
CPU |
低 |
低(如果没有显式排序) |
高 |
内存 |
低 |
低(如果没有显式排序) |
高 |
IO |
可能高可能低 |
低 |
可能高可能低 |
SQL优化相关(MS SQL),布布扣,bubuko.com
原文:http://www.cnblogs.com/anling/p/3739525.html