最近写的一个使用了表变量参数的存储过程

--=======================================下面是call 这个存储过程================================================================


在使用这个存储过程之前,没有使用表变量,每次在游标内部都要select一个表值函数,而有两个游标都需要用到这个表值函数,那么重复的查询导致了严重的性能问题.

而现在用sql server 2008里的新技术,表变量参数解决了这个问题,先把表值函数的结果放进一个表变量里,然后在游标循环的时候就可以直间使用表变量了,而不用再

查询一次表值函数. 在没有使用表变量为参数时,运行时间为1分34秒,在使用后降为10秒.性能的提升是非常明显的!

注意,在使用表变量参数前,要先定义一个用户自定义数据类型的表结构


在存储过程里面定义这个数据类型的变量(这里MCS_ModelList 就是定义的类型名称)

然后就可以像普通表一样操作它 select * from@ModelList update @ModelList ......

你可能感兴趣的:(存储过程)