[SQL]SQL 2014可以在Table變數中加入 Index 了!

Microsoft SQL Server 2014可以在Table變數中加入 Index 了!

環境: SQL 2014

SQL 2014可以讓我們在Table變數中加入Index,如下建立了 nci_empName index,


DECLARE @emp1 TABLE
(
   id INT IDENTITY(1, 1) PRIMARY KEY,
   first_name NVARCHAR(100) INDEX nci_empName (first_name,last_name ), 
   last_name NVARCHAR(100) 
);
INSERT INTO @emp1 (first_name, last_name)
SELECT TOP 100000 name, name FROM master.dbo.syscolumns;
	
SELECT first_name, last_name FROM @emp1
WHERE first_name = 'dbid'

 

而用first_name去search時,就會使用 seek 去找出資料,如下,

image

 

而那種建立Table時,同時設定index的語法,也同樣適用在一般的Table中哦!

詳細可參考「Non-Clustered Indexes on Table Variables in SQL Server 2014」。

 

另外,之前如果沒有index的話,就會使用 scan 去找出資料,如下,

image

 

參考資料

Non-Clustered Indexes on Table Variables in SQL Server 2014

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^