sqlserver的sql优化

本文提供了一系列SQL查询优化建议,包括合理使用索引、避免不必要的数据类型转换、正确运用查询语法等,帮助提高数据库查询效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

数据库的特长在基于数据集操作。
避免没有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验证优化是否成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值