创建索引

时间:2019-04-14 21:38:57

标签: sql sql-server performance tsql

我有一个新表A。它正在与现有X,Y,Z表联接。由于它是新表,因此我可以创建索引以提高性能。它具有以下列。

C1 - nvarchar, 
C2 - NUMERIC, 
C3 - NUMERIC, 
C4  -NVARCHAR, 
C5 - NVARCHAR, 
C6 - NUMERIC, 
C7 - NUMERIC

此表仅在此查询中以以下方式联接:

select A.C6, A.C7, ... (other columns from x,y,z table)
From A JOIN X    ON A.C1 = X.C1
       JOIN X X1 ON A.C4 = X1.C1
       JOIN X X2 ON A.C5 = X2.C1
  LEFT JOIN Y    ON (A.C1 = Y.C1 AND A.C2 < Y.C3 AND A.C3 > Y.C2)
  LEFT JOIN Z    ON (A.C1 = Z.C1 AND A.C2 < Z.C3 AND A.C3 > Z.C2)

什么样的索引有助于改善此查询的性能?

1 个答案:

答案 0 :(得分:0)

  

什么样的索引有助于改善此查询的性能?

仅从表上的集群主键开始。然后填充表并运行查询,输出实际的查询计划。 SQL Server会告诉您是否缺少索引。