4个编写SQL语句需要注意的小常识_[SQL Server教程] 1.尽量不要对列名进行函数处理。而是针对后面的值进行处理 例如where col1 = -5的效率比where -col1=5的效率要高 因为后面的条件对列值进行了计算。这样的条件下优化器无法使用索引 而是要针对所有值进行计算之后才能再比较
2.尽量使用和数剧列一样的值进行操作 如果col1是数值型 那么例如where col1 = 2和where col1= ‘2′ 则前者效率更高 因为比较字符和数值型的时候 引擎需要把两者都转化成双精度然后进行比较
3.减少函数的使用 例如where col1 >= ‘2009-10-26′ and col1 <= ‘2009-10-27′ 和where datediff(day,col1,getdate())=0 后者因为用到函数处理。所以col1上的索引又无法使用了
4.尽量不要用OR 一般对于OR的条件 优化器一般会使用全表扫描
|