提高 MS Access 中未索引列的查询性能 table
Improving query performance on unindexed column in MS Access table
我有一个很大的旧 MS Access table,它有大约 84 列和大约 280k 行。其中三列是 LabNumber
(索引)、HospitalNumber
(非索引)和 NHSNumber
(非索引)。我想在 HospitalNumber
和 NHSNumber
中搜索一个词来检索 LabNumber
的值。这是一个经常使用的生产数据库,因此 table 必须 保持 原样 。哦,数据库正在通过网络访问。查询痛苦地慢。
利用正则表达式的强大功能,我可以计算出我需要查看 NHSNumber
和 HospitalNumber
中的哪一个。将其减少到只查看一个 或 另一个使它更快,但在好的一天仍然需要 30 秒,有时甚至更长。
我的问题是这样的。我可以使用任何其他提示或技巧来尝试将执行时间降低到更易于管理的水平吗?欢迎对这一切提出务实的解决方案,但请记住 table 不得 更改,现有数据库 将 更新相对定期(假设数据一天出来没什么大不了的,但一周肯定是)
编辑
已请求查询,所以在这里。不幸的是,它并不那么令人兴奋:
SELECT [ConsID], [LabNumber], [HospitalNumber], [NHSNumber]
FROM Samples
WHERE [NHSNumber]="1234567890";
如果您无法修改现有的 table,请将其复制到本地 table 并在您搜索的列上应用索引。
这一切都可以通过代码完成,您可以在需要更新时运行。
如果您使用 VBA 在启动时打开 table 并保持打开状态直到数据库关闭,它应该会显着提高性能。
我有一个很大的旧 MS Access table,它有大约 84 列和大约 280k 行。其中三列是 LabNumber
(索引)、HospitalNumber
(非索引)和 NHSNumber
(非索引)。我想在 HospitalNumber
和 NHSNumber
中搜索一个词来检索 LabNumber
的值。这是一个经常使用的生产数据库,因此 table 必须 保持 原样 。哦,数据库正在通过网络访问。查询痛苦地慢。
利用正则表达式的强大功能,我可以计算出我需要查看 NHSNumber
和 HospitalNumber
中的哪一个。将其减少到只查看一个 或 另一个使它更快,但在好的一天仍然需要 30 秒,有时甚至更长。
我的问题是这样的。我可以使用任何其他提示或技巧来尝试将执行时间降低到更易于管理的水平吗?欢迎对这一切提出务实的解决方案,但请记住 table 不得 更改,现有数据库 将 更新相对定期(假设数据一天出来没什么大不了的,但一周肯定是)
编辑
已请求查询,所以在这里。不幸的是,它并不那么令人兴奋:
SELECT [ConsID], [LabNumber], [HospitalNumber], [NHSNumber]
FROM Samples
WHERE [NHSNumber]="1234567890";
如果您无法修改现有的 table,请将其复制到本地 table 并在您搜索的列上应用索引。
这一切都可以通过代码完成,您可以在需要更新时运行。
如果您使用 VBA 在启动时打开 table 并保持打开状态直到数据库关闭,它应该会显着提高性能。