首页 > 解决方案 > ms-access 计算字段性能

问题描述

我的表格包含各种“日期”信息,如“OrderDate”、“ProductionDate”、“ControlDate”、“SellDate”。在查询中,我想要一个“状态”字段,其中包含“订单”、“生产”、“受控”、“已售”之类的内容。我可以从各种日期中获取状态信息(例如,如果有 ProductionDate 但没有设置 ControlDate,则状态为“已生产”)。日期字段和统计数据的数量保证永远不会改变。日期更改非常少见,而查询一直在发生。该查询不仅包含一个这样的派生字段,而且包含大约五个。

与在表中创建额外的状态字段(每次日期更改时设置)相比,在查询中使用 VBA 例程计算状态的性能损失有多大?

还是这个设计基本上有缺陷?

标签: databasems-accesscalculated-field

解决方案


就性能影响而言,如果您更新表中的单个记录,那么您会看到比您尝试在查询中“动态”创建该字段的影响要小得多。问题是; 我们在谈论多少数据,吐出报告需要多长时间?我会为此付出50/50;我认为这两种方法都没有错误或更糟,但是如果您希望尽可能多地节省时间,那么我会在表格中添加一个字段,并在输入/更新其中一个日期时更新该字段。后端有更多的编码,但运行更新需要几毫秒,而在查询中创建字段需要几分之一秒(或可能是几秒)。


推荐阅读