日期:2014-05-18  浏览次数:20559 次

组合sql语句和存储过程中写定的sql语句的效率问题
在存储过程中

select   *   from   Ta

set   @sql= 'select   *   from   Ta '
exec(@sql)
这两者之间存在效率上的差别么

上面的只是问题的形式
set语句可能会把多个参数组合起来连结成一条语句

------解决方案--------------------
差别不会大
------解决方案--------------------
如果select語句是一樣的話, 沒什麽差別
------解决方案--------------------
select * from Ta

set @sql= 'select * from Ta '
exec(@sql)

差别不大的

但是如果是exec sqlexecute,就有差别了,因为sqlexecute会重复执行的,相比exec提高了效率
------解决方案--------------------
效率差不多,但用exec 执行SQL组合要比在客户端发SQL命令要有优势得多,第一减少了网络流量,第二增加了业务逻辑处理的灵活性