`
vivus
  • 浏览: 113736 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

sqlserver的sql优化

 
阅读更多
同事罗列的,备忘,后续再深入研究:

数据库的特长在基于数据集操作。
避免没有where条件的SQL语句。
能够过滤最多数据的条件靠近where。
避免对索引字段的计算。
count(*)=count(1)
避免包含否定运算符的表达式,如:<>、not in/not exists/not like
查询方式(=int,>int,<int,=char,>char,<char, like ‘char%’,like ‘%char%’…)
小心数据库引擎隐性转换数据类型后不能利用索引。
小心复合索引的利用。
union和union all。
分批查询,避免长SQL和子查询联表。
嵌套子查询把能过滤最多行数的查询放在最里层。
联表查询或执行sp_executesql时,关联条件的字段类型要匹配,包括长度也要匹配。
充分利用函数和存储过程,也可以用sp_executesql代替,注意避免重编译。
exec string和exec sp_executesql
联表时要指定别名,条件要用别名,减少编译时消耗的资源。
把字段写全。
执行计划中,table scan<index scan<index seek<key scan<key seek。
set statistics io/time on验证优化是否成功。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics