你的位置:首页 > 软件开发 > 数据库 > SQL Server 2014,表变量上的非聚集索引

SQL Server 2014,表变量上的非聚集索引

发布时间:2015-06-29 13:00:04
从Paul White的推特上看到,在SQL Server 2014里,对于表变量(Table Variables),它是支持非唯一聚集索引(Non-Unique Clustered Indexes)和非聚集索引(Non-Clustered Indexes)的。看到这个,我决定在 ...

从Paul White的推特上看到,在SQL Server 2014里,对于表变量(Table Variables),它是支持非唯一聚集索引(Non-Unique Clustered Indexes)和非聚集索引(Non-Clustered Indexes)的。看到这个,我决定在自己的虚拟机里尝试下,因为这将是个卓越的功能。表变量很棒,因为用它可以避免过多的重编译(excessive recompilations)。当你创建它们时,它们是没有统计信息,你不会改变数据库架构。它们只是变量,但在TempDb里还是常驻的。

表变量的一个缺点是,你不能在上面创建非聚集索引,这个在处理大量数据集时是不好的。但SQL Server 2014 CTP1已经修正了这个缺点。来看下面的代码(点击工具栏的SQL Server 2014,表变量上的非聚集索引显示包含实际的执行计划):

 1 DECLARE @tempTable TABLE 2 ( 3  ID INT IDENTITY(1, 1) PRIMARY KEY, 4  FirstName CHAR(100) INDEX idx_FirstName, 5  LastName CHAR(100) 6 ) 7    8 INSERT INTO @TempTable (FirstName, LastName) 9 SELECT TOP 100000 name, name FROM master.dbo.syscolumns10   11 SELECT FirstName FROM @TempTable12 WHERE FirstName = 'cid'13 GO

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:SQL Server 2014,表变量上的非聚集索引

关键词:sql

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