访问查询耗时过长
Access query taking too long
我正在尝试使用包含大约 15k+ 个条目的 .mdb 文件。我在 vbscript 中使用 ado 并 asp 查询数据库。我正在做的查询看起来像这样。 x 在这种情况下只是一个变量,它以 mm/dd/yyyy
形式保存当前日期。
rs.Open "SELECT [Item Number], [Qty], [Delivery Point]
FROM [ItemBoard]
WHERE format([Submitted Date/Time], 'mm/dd/yyyy') = '"&x&"'
AND [OrderUrgency] = 'Rush'
AND ([Delivered] is NOT NULL OR [Delivered Short] is NOT NULL)", conn
我的问题是这个查询需要一分钟以上的时间才能完成,这太长了。更重要的是,如果我将 Where 子句更改为只有 3 个语句之一而不是全部 3 个,则完成查询的时间只会下降到大约 50-55 秒。除了数据库本身的结构,是否有可能导致此问题的原因?
虽然所有建议都改进了我的运行时间,但这是给了我最好的时间,而且没有改变我正在寻找的东西。
rs.Open "SELECT [Item Number], [Qty], [Delivery Point]
FROM [ItemBoard]
WHERE [Submitted Date/Time] >= Date() AND [Submitted Date/Time] < DateAdd('d', 1, Date())
AND [OrderUrgency] = 'Rush'
AND ([Delivered] is NOT NULL OR [Delivered Short] is NOT NULL)"
我一直希望是网络让我变慢了,但事实似乎并非如此。或者至少这不是我获得高查询时间的主要原因。我想我得回去请求清理实际数据库和添加索引的权限。
我正在尝试使用包含大约 15k+ 个条目的 .mdb 文件。我在 vbscript 中使用 ado 并 asp 查询数据库。我正在做的查询看起来像这样。 x 在这种情况下只是一个变量,它以 mm/dd/yyyy
形式保存当前日期。
rs.Open "SELECT [Item Number], [Qty], [Delivery Point]
FROM [ItemBoard]
WHERE format([Submitted Date/Time], 'mm/dd/yyyy') = '"&x&"'
AND [OrderUrgency] = 'Rush'
AND ([Delivered] is NOT NULL OR [Delivered Short] is NOT NULL)", conn
我的问题是这个查询需要一分钟以上的时间才能完成,这太长了。更重要的是,如果我将 Where 子句更改为只有 3 个语句之一而不是全部 3 个,则完成查询的时间只会下降到大约 50-55 秒。除了数据库本身的结构,是否有可能导致此问题的原因?
虽然所有建议都改进了我的运行时间,但这是给了我最好的时间,而且没有改变我正在寻找的东西。
rs.Open "SELECT [Item Number], [Qty], [Delivery Point]
FROM [ItemBoard]
WHERE [Submitted Date/Time] >= Date() AND [Submitted Date/Time] < DateAdd('d', 1, Date())
AND [OrderUrgency] = 'Rush'
AND ([Delivered] is NOT NULL OR [Delivered Short] is NOT NULL)"
我一直希望是网络让我变慢了,但事实似乎并非如此。或者至少这不是我获得高查询时间的主要原因。我想我得回去请求清理实际数据库和添加索引的权限。