在sql查询中查找控件值和运行时间

时间:2012-05-29 07:17:58

标签: sql ms-access

我在MS Access中有where子句中的查询:

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

运行需要很长时间,但是当我删除此where子句时,查询运行的时间不到一秒。

我可以说通过[Formulare]![frm_Fahrzeug]![ID]作为参数效率不高吗?或者查找控制值会减慢它的速度?如果是,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

db引擎应该几乎立即检索控件的值。如果WHERE条件显着减慢了查询速度,则更有可能是由于db引擎必须执行额外的工作来检索匹配的行。您可以通过临时替换静态已知值代替控件的值来检查此假设。

WHERE tb_KonzeptFunktionen.Konzept=1;

如果具有静态值的版本同样慢,请在tb_KonzeptFunktionen.Konzept上创建索引,然后重试。