你的位置:首页 > 软件开发 > 数据库 > 探秘重编译(Recompilations)(2/2)

探秘重编译(Recompilations)(2/2)

发布时间:2015-06-12 12:00:15
在上一篇文章里,我讨论了使用临时表如何引起SQL Server里的重编译。在文章最后我提到,今天这篇文章我会聚焦表变量(Table Variables)的更多信息,它可以避免重编译的昂贵开销。我们来详细分析下。表变量(Table Variables)表变量总局限于提交到SQL S ...

探秘重编译(Recompilations)(2/2)

在上一篇文章里,我讨论了使用临时表如何引起SQL Server里的重编译。在文章最后我提到,今天这篇文章我会聚焦表变量(Table Variables)的更多信息,它可以避免重编译的昂贵开销。我们来详细分析下。

表变量(Table Variables)

表变量总局限于提交到SQL Server的批处理语句范围。当你在批处理语句范围外引用表变量时,SQL Server就会返回你一条错误信息。这是和临时表相比第1个重大区别。下列代码向你展示了如何创建和使用表变量——只在简单存储过程的上下文里。

 1 CREATE PROCEDURE DemonstrateTableVariablesNoRecompiles 2 AS 3 BEGIN 4   DECLARE @tempTable TABLE 5   ( 6     ID INT IDENTITY(1, 1) PRIMARY KEY, 7     FirstName CHAR(4000), 8     LastName CHAR(4000) 9   )10   11   INSERT INTO @TempTable (FirstName, LastName)12   SELECT TOP 1000 name, name FROM master.dbo.syscolumns13   14   SELECT * FROM @TempTable15 END16 GO

原标题:探秘重编译(Recompilations)(2/2)

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录