2

私はMS Accessで、次のようなクエリを持っていますwhere:

WHERE (((tb_KonzeptFunktionen.Konzept)=[Formulare]![frm_Fahrzeug]![ID]));

実行には時間がかかりますが、このwhere句を削除すると、クエリは 1 秒未満で実行されます。

をパラメータとして渡すの[Formulare]![frm_Fahrzeug]![ID]は効率的ではないと言えますか? または、コントロール値を調べると遅くなりますか? はいの場合、どうすればこの問題を解決できますか?

4

1 に答える 1

1

データベース エンジンは、ほぼ瞬時にコントロールの値を取得する必要があります。そのWHERE条件によってクエリが大幅に遅くなる場合は、一致する行を取得するために db エンジンが実行しなければならない余分な作業が原因である可能性が高くなります。コントロールの値の代わりに静的な既知の値を一時的に置き換えることで、この仮定を確認できます。

WHERE tb_KonzeptFunktionen.Konzept=1;

静的な値を持つバージョンが同じように遅い場合は、インデックスを作成してtb_KonzeptFunktionen.Konzept再試行してください。

于 2012-05-29T07:54:07.973 に答える