查询设计分析

一 有效的使用索引

1. 避免不可参数化的搜索条件

比如 <>,!=,not exists, not in, like'%abc'. 尝试用 between 代替in

2.避免where子句列上的算术运算符

3.避免 where子句列上的函数

如果避无可避, 尝试抽取出其中比较简单的逻辑。


 二 避免优化器提示

1.连接提示

option(连接方式)

2 索引提示

with (index )


三 使用域和参照完整性

1 非空约束

定义非空列约束帮助优化器在查询中该列上使用isnull函数时生成一个有效的处理策略

2.参照完整性

constraint


四 避免资源密集型查询

1.避免数据类型转换

2.exists 代替 count() 验证数据存在

3.union all 代替 union

4.为聚合 比如min max  和排序操作使用索引


五 降低事务开销

1.减少日志开销

 dbcc sqlperf(logspace) 查看日志控件百分比  避免使用while

2.减少锁开销。

with(nolock)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值