2017-01-24 43 views
0

我试图运行这个SELECT语句,但我需要数小时才能执行。我也在这些表上创建了索引。SELECT语句需要几小时才能执行

SELECT DISTINCT 
    j.Name AS State, 
    l.DisplayName AS ServiceCenter, 
    l.JurisdictionID, 
    e.LocationID, 
    ConvictionStateID AS RegionId, 
    FeeGroupID, 
    e.VehicleID , 
    ServiceDate, 
    evd.EventlogID, 
    v.ClientID, 
    e.EventLogServiceID, 
    evd.EventlogDetailID, 
    EvtDT AS EventDate, 
    EvtVal AS EventValue, 
    evd.EventLogCodeID, 
    UPPER(SerialNumber) AS SerialNumber, 
    UPPER(RelayNum) AS RelayNumber, 
    edp.FileName, 
    GPSLatitude 
FROM 
    [MM\PLUSREPORT5].lsa_plus_jur_nico.dbo.EventLogDetail evd 
INNER JOIN 
    [MM\PLUSREPORT5].lsa_plus_jur_nico.dbo.EventLog e ON evd.EventlogID = e.EventlogID 
INNER JOIN 
    [MM\PLUSREPORT5].lsa_plus_jur_nico.dbo.Vehicle v ON e.VehicleID = v.VehicleID 
INNER JOIN 
    [MM\PLUSREPORT5].lsa_plus_jur_nico.dbo.Client c ON v.ClientID = c.ClientID 
INNER JOIN 
    [MM\PLUSREPORT5].lsa_plus_base.dbo.Location l ON e.LocationID = l.LocationID 
INNER JOIN 
    [MM\PLUSREPORT5].lsa_plus_base.dbo.Jurisdiction j ON l.JurisdictionID = j.JurisdictionID 
LEFT JOIN 
    [MM\PLUSREPORT5].lsa_plus_jur_nico.dbo.EventLogDetailPhoto edp ON evd.EventLogDetailId = edp.EventLogDetailId 

Excution plan,也嵌入在下面。

Excution plan

+1

请张贴**表结构**和**索引创建脚本** –

+0

我加入七个表一起如何张贴表结构 – ALE

+0

请你可以帮助重写查询,以避免哈希匹配成像我有所有关键列索引 – ALE

回答

-1

你没有得到任何并行和排序被弹起。

检查您的索引是否配置为DESC顺序。

向后扫描索引的限制是它们不能并行。

如果可能,也尝试并删除DISTINCT,这可以添加相同的限制。

+0

为什么投票? – pacreely