首页 新闻 赞助 找找看

sp_executesql的参数可以是表变量吗?

0
悬赏园豆:10 [已解决问题] 解决于 2015-10-30 18:14

如果可行,求示例;

如果不行,有没有办法,把表变量的作用域传入动态执行的sql字符串?临时表性能太差,需要优化。

全局表变量是否可行,会否引起问题?

空明流光的主页 空明流光 | 初学一级 | 园豆:106
提问于:2015-10-27 09:23
< >
分享
最佳答案
0

临时表性能不会差的,如果是你的临时表性能差,第一可能你本来查询出来的临时表数据过大,第二临时表本来就是空间换效率

现在回答你的问题,当然可以:

我总结下你用的时候注意的地方:使用表变量主要需要考虑的就是应用程序对内存的压力,如果代码的运行实例很多,就要特别注意内存变量对内存的消耗。我们对于较小的数据或者 是通过计算出来的推荐使用表变量。如果数据的结果比较大,在代码中用于临时计算,在选取的时候没有什么分组的聚合,就可以考虑使用表变量(脱离了事务机制)。一般对于大的数据结果,或者因为统计出来的数据为了便于更好的优化,我们就推荐使用临时表,同时还可以创建索引,由于临时表是存放在Tempdb中,一般默认分配的空间很少,需要对tempdb进行调优,增大其存储的空间,表变量是预先编译的,临时表不是

其实说了这么多,我也用了那么多,临时表比表变量好用,而且一般系统性能也好一些(数据都比较大)

 

收获园豆:10
稳稳的河 | 老鸟四级 |园豆:4216 | 2015-10-27 09:54

内存没有压力,多的就是内存。

空明流光 | 园豆:106 (初学一级) | 2015-10-30 18:14
其他回答(1)
0

临时表性能太差?表变量性能好!!

我怎么感觉临时表性能要比表变量好!!

最佳损友。 | 园豆:63 (初学一级) | 2015-10-27 09:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册