读书人

看了几篇关于sp_executesql的稿件有

发布时间: 2012-09-23 10:28:11 作者: rapoo

看了几篇关于sp_executesql的文章,有句话不太明白
若要提高性能,请在语句字符串中使用完全限定的对象名。

[解决办法]

SQL code
EXECUTE sp_executesql           N'SELECT * FROM AdventureWorks2012.HumanResources.Employee           WHERE BusinessEntityID = @level',          N'@level tinyint',          @level = 109;
[解决办法]
参考:
http://technet.microsoft.com/zh-cn/library/dd193298(zh-tw).aspx
[解决办法]
SQL code
MSDN确实有这样的描述,但是至于为何会提高性能没有明确解释,但是建议这样写完全限定对象名:数据库名称.所有者(默认dbo).对象名(表,SP,视图...)
[解决办法]
意思就是说通常我们引用表都是直接表名什么的
select * from tb

或者exec sp

没有指定架构名称,系统还需要去检索当前用户的默认架构
然后追加上完整的名称,然后编译执行

如果你是 select * from dbo.tb
或者exec mydbo.sp
这样少了一个检索的步骤

所以提升了性能


这个就好比 select *
系统要去检索这个*都有哪些东西。
[解决办法]
悠悠解释的很正确,悠悠解释的很勤快,悠悠好棒。
[解决办法]
数据库名.所有者(架构名称).表名

读书人网 >SQL Server

热点推荐