1:在业务密集的sql里面 尽量少用in 建议可以用exist
2:不用<>而是用>or < 因为使用它会造成全表扫描
3:对>2的是用>=3来代替 因为是用a>2的时候 会先获取a=2的数据后 在过滤>
而a>=3时,会直接找到a=3的记录再进行比较
4:where条件的比较语句中,尽量不要对索引字段运算后与常量参与比较,这种用法不能使用到索引。
例:
(1) 不合适的用法:
Where Trunc(CategoryID/1000)=20
Where date(CheckTime)=”20110301”
(2) 合适的用法:
Where CategoryID between 20*1000and (20+1)*1000-1
WhereCheckTime between ”2011-03-01 00:00:00” and ”2011-03-01 23:59:59”5: 创建临时表,必须带有with no log参数,以提高临时表性能。建议尽量使用 SELECT …into temp … withno log 格式,创建临时表
- 1楼vs2008ASPNET昨天 11:48
- 为什么要这么用,能给出例子?