标签:
今日匆忙中写了2各存储过程,查询的表,查询的结构,返回的值基本一样,就是对参数的使用有点不同。
晚上到家想着优化下,看看能不能合并了。在几次重写后,拿着几个版本查看执行计划时,发现个以前没注意的问题。
第一个SP传入的2个时间参数直接用于里面的查询条件。
第二个SP传入的2个时间参数,在SP内又定义了2个时间变量,将参数通过简单计算后Set给了2个变量,然后在查询中使用这2个变量作为条件。
这2个SP,在执行开销上相差数倍。
在外面套一层SP,把时间算好了再当参数传给第二个SP,修改SP直接使用参数作为查询的条件,2个SP的开销就一样了。
这是怎么回事呢,SP里面对参数和变量的使用会对性能有多大的影响呢?
暂时没时间去仔细了解和分析。
希望看到的朋友不吝赐教。
标签:
原文地址:http://www.cnblogs.com/Gun/p/5014874.html