- 1
- 0
- 约5.05万字
- 约 23页
- 2017-08-05 发布于河南
- 举报
如何写出高效SQL脚本
如何写出高效的SQL脚本:
如何写出高效的SQL脚本《二》
1.???????? 设计如何满足SARG形式的SQL脚本
SARG的定义:用于限制搜索的一个操作,因为它通常是指一个特定的匹配,一个值得范围内的匹配或者两个以上条件的AND连接。[可以理解为索引扫描]形式如下:
列名 操作符 常数 或 变量
或
常数 或 变量 操作符列名
列名可以出现在操作符的一边,而常数或变量出现在操作符的另一边。如:
Name=’ATA’
数量5000
5000数量
Name=’ATA’ and 数量5000
如果一个表达式不能满足SARG的形式,那它就无法限制搜索的范围了,也就是SQL SERVER必须对每一行都判断它是否满足WHERE子句中的所有条件。所以一个索引对于不满足SARG形式的表达式来说是无用的
2.???????? Like
Like语句是否属于SARG取决于所使用的通配符的类型
如:name like ‘ATA%’ ,这就属于SARG
而:name like ‘%ATA’ ,就不属于SARG。
原因是通配符%在字符串的开头使得索引无法使用。
3.???????? OR 和 IN
or 会引起全表扫描
Name=’ATA’ and 数量5000 符号SARG,而:Name=’ATA’ or 数量5000 则不符合SARG。使用or和In会引起全表
原创力文档

文档评论(0)