CREATE TABLE #Employee
(
EmployeeID INT,
Name VARCHAR(50),
UNIQUE CLUSTERED (EmployeeID)
)
DECLARE @Employee TABLE
(
EmployeeID INT,
Name VARCHAR(50),
UNIQUE CLUSTERED (EmployeeID)
)
性能有差异吗?
我基本上想知道哪个更快......
答案 0 :(得分:0)
您可以在临时表上创建索引,但不能在变量表上创建索引。根据我的经验,临时表更快,并产生更好的查询计划。 SQL Server保留临时表的统计信息。您可以在var表上创建主索引和/或唯一索引,但它们用于强制唯一性。如果没有统计数据,我认为SQL Server不会使用索引进行搜索。在2014年,SQL Server允许创建非主索引,我们必须看到它如何使用索引。