0
どういう意味ですか?このクエリを簡単にしてパフォーマンスを向上させることはできますか? このクエリを簡単にすることはできますか?
はどういう意味ですか?このクエリを簡単にしてパフォーマンスを向上させることはできますか? このクエリを簡単にすることはできますか?
は再フォーマット、それをあなたのご意見をありがとうございました、そして、すべての不要な括弧を削除し、それが(私はこの答えを書いたとき、問題のクエリが未フォーマットであることに注意してください読むために実際には非常に簡単ですテキスト!)
SELECT DISTINCT
tb_Bauteile.ID, tb_Bauteile.Name, tb_Bauteile.Blatt_nr,
FehlerCodes_akt_Liste.Fehlerpfad, FehlerCodes_akt_Liste.Pfad_Bezeichnung,
FehlerCodes_akt_Liste.Steuergerät, FehlerCodes_akt_Liste.Kommentar
FROM
tb_Pinnummern INNER JOIN
tb_Bauteile
ON tb_Pinnummern.Bauteil = tb_Bauteile.ID INNER JOIN
tb_Fahrzeug
ON tb_Pinnummern.SG = tb_Fahrzeug.Motor_SG INNER JOIN
FehlerCodes_akt_Liste
ON tb_Bauteile.CDT = FehlerCodes_akt_Liste.CDT
WHERE tb_Bauteile.Blatt_nr Like "5*"
AND tb_Fahrzeug.ID = [forms]![frm_fahrzeug]![id]
ORDER BY FehlerCodes_akt_Liste.Fehlerpfad;
テーブル名をエイリアスにすると、より単純なものにすることもできます。
SELECT DISTINCT b.ID, b.Name
FROM tb_Bauteile AS b
WHERE b.Blatt_nr LIKE "5*"
通常、Join句およびWhere句で使用されるフィールドにインデックスを追加すると、パフォーマンスが向上します。 tb_Bauteile.Blatt_nr
のインデックスは、LIKE句に後続のワイルドカードしかないため、ここではパフォーマンスが向上することに注意してください。ただし、LIKE句がLIKE '*5'
の場合、パフォーマンスは向上しませんでした。
「Like」 – Virus
の代わりに試してみてください。 '='? – Baper
基本的な選択肢がいくつかのバニラジョイントといくつかの条件であり、使用する必要があるデータと条件の場合は、それを単純化できません。そのパフォーマンスは、結合された(およびワイルドカードではない)検索列で作成するインデックスの影響を受けます。 http://office.microsoft.com/en-us/access-help/create-and-use-an-index-to-improve-performance-HA010210347.aspx –