Sql server SQL-减少连接的时间

Sql server SQL-减少连接的时间,sql-server,join,Sql Server,Join,首先,我对SQL非常陌生 我有一张一天大约有500k行的表-Table1 我尝试对Table1做两个左连接,其中一个表有10k行,另一个表有200k行 查询运行约15分钟。我们有没有办法缩短连接时间 我们是否有类似于加入索引的功能 我找到了一个关于主键和外键的主题,但是这样做会减少加入的时间吗 帮我回答这个问题 表1: sDate No Val Val2 01-Jan 1 A Z 01-Jan 1 B A 01-Jan 2 C R 01-Jan 2 D

首先,我对SQL非常陌生

我有一张一天大约有500k行的表-
Table1

我尝试对
Table1
做两个左连接,其中一个表有10k行,另一个表有200k行

查询运行约15分钟。我们有没有办法缩短连接时间

我们是否有类似于加入索引的功能

我找到了一个关于
主键
外键
的主题,但是这样做会减少加入的时间吗

帮我回答这个问题

表1:

sDate   No  Val Val2
01-Jan  1   A   Z
01-Jan  1   B   A
01-Jan  2   C   R
01-Jan  2   D   DF
01-Jan  2   E   F
01-Jan  3   F   DF
02-Jan  3   G   T
02-Jan  3   H   H
02-Jan  4   I   H
02-Jan  4   J   G
02-Jan  5   K   B
02-Jan  5   L   V
02-Jan  1   A   Z
03-Jan  1   B   A
03-Jan  2   C   R
03-Jan  2   D   DF
03-Jan  2   E   F
03-Jan  3   F   DF
04-Jan  3   G   T
04-Jan  3   H   H
04-Jan  4   I   H
04-Jan  4   J   G
04-Jan  5   K   B
04-Jan  5   L   V
左联接表1:

No  Lab1
1   P
2   Q
3   A
4   R
5   T
左联接表2:

zDate   No  Tab1
01-Jan  1   P
01-Jan  2   Q
01-Jan  3   A
01-Jan  4   R
01-Jan  5   T
02-Jan  1   P
02-Jan  2   Q
02-Jan  3   A
02-Jan  4   R
02-Jan  5   T
03-Jan  1   P
03-Jan  2   Q
03-Jan  3   A
03-Jan  4   R
03-Jan  5   T
04-Jan  1   P
04-Jan  2   Q
04-Jan  3   A
04-Jan  4   R
04-Jan  5   T
查询:

SELECT [sDate]
    ,[No]
    ,[Val1]
    ,[Val2]
    ,[Lab1]
    ,[Tab1]
FROM [Table1]
LEFT JOIN [Left Join - Table1] ON
    [Table1].[No] = [Left Join - Table1].[No]
LEFT JOIN [Left Join - Table2] ON
    [Table1].[No] = [Left Join - Table2].[No]

提前谢谢。

您能给我们看一些表结构的示例吗?请给出您的表结构,并遵循sql中的执行计划,您将看到为了使联接更快地工作,您需要执行哪些索引。@timus20001-我已经用表结构进行了更新。这是完整的查询吗?不在哪里condition@Neeraj-这是连接查询。我将结果存储在CTE中,并在连接完成后对所有列执行
计数(*)