我正在使用Microsoft Access 2003.我的項目中的一個表單需要很長時間纔會顯示給用戶。查詢花費很長時間DISTINCT
這是適用的查詢:
SELECT DISTINCT tb_KonzeptDaten.DFCC
,tb_KonzeptDaten.OBD_Code AS Konzept_Obd
,tb_bauteile.*
,FehlerCodes_akt_Liste.VAG_Code
,FehlerCodes_akt_Liste.OBD_Code
,FehlerCodes_akt_Liste.F_Klasse_EU
,FehlerCodes_akt_Liste.F_Klasse_US
,FehlerCodes_akt_Liste.CDT AS CdtNr
,FehlerCodes_akt_Liste.Pfad_Bezeichnung
,FehlerCodes_akt_Liste.Fehlerpfad AS PfadName
,FehlerCodes_akt_Liste.Fehlerunterpfad
,tb_bauteile_Tools.Tool AS Tool_
FROM (
(
tb_bauteile LEFT JOIN FehlerCodes_akt_Liste ON tb_bauteile.OBD2_Plaus = FehlerCodes_akt_Liste.ID
) LEFT JOIN tb_bauteile_Tools ON tb_bauteile.Tool = tb_bauteile_Tools.ID
)
LEFT JOIN tb_KonzeptDaten ON FehlerCodes_akt_Liste.Fehlerpfad = tb_KonzeptDaten.DFC;
如果刪除DISTINCT然後運行查詢,性能將得到改善 (9秒至2秒)。另外,我還在必要的領域提供了一個索引。
如何更改我的查詢(也許沒有DISTINCT)以改善性能?
嘗試通過組代替,並告訴我,請 – levi 2012-08-08 07:01:29
哪裏有重複的記錄來自的結果呢?它們存在於主表中(tb_KonzeptDaten)還是由於連接? – Fionnuala 2012-08-08 07:43:59
@Remou我不是sur,如果我正確地得到了你的問題,但是如果我刪除了兩列(DFCC,Konzept_obd)的** Distinct **值在結果中重複,它們都來自** tb_KonzeptDaten **表,與** DISTINCT **我沒有看到這兩個列中的任何值 – Kabi 2012-08-08 08:11:41