读书人

组合sql语句和存储过程中写定的sql语句

发布时间: 2012-03-31 13:13:26 作者: rapoo

组合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命令要有优势得多,第一减少了网络流量,第二增加了业务逻辑处理的灵活性

读书人网 >SQL Server

热点推荐