有关T-SQL的10个好习惯
作者:网络转载 发布时间:[ 2012/10/23 10:16:13 ] 推荐标签:
7、where条件之后尽量减少使用函数或数据类型转换
换句话说,WHERE条件之后尽量可以使用可以嗅探参数的方式,比如说尽量少用变量,尽量少用函数,下面我们通过一个简单的例子来看这之间的差别。如图4所示。
图4.在Where中使用不可嗅探的参数导致的索引查找
对于另外一些情况来说,尽量不要让参数进行类型转换,再看一个简单的例子,我们可以看出在Where中使用隐式转换代价巨大。如图5所示。
图5.隐式转换带来的性能问题
8、不要使用旧的连接方式,比如(from x,y,z)
可能导致效率低下的笛卡尔积,当你看到下面这个图标时,说明查询分析器无法根据统计信息估计表中的数据结构,所以无法使用Loop join,merge Join和Hash Join中的一种,而是使用效率地下的笛卡尔积。
> 这里我再补充一点,我说得是“可能”导致,因为上面这个查询可能作为中间结果或是子查询,当你忘写了where条件时,会是笛卡尔积。你在终结果中再用where过滤,可能得到的结果一模一样,但是中间的过程却大不相同。
所以,尽量使用Inner join的方式替代from x,y,z这种方式。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11