我正在尝试使用大约15k +条目的.mdb文件。我在vbscript和asp中使用ado查询数据库。我正在制作的查询看起来像这样。在这种情况下,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秒。除了数据库本身的结构之外,是否有可能成为这个问题的原因的候选人?
答案 0 :(得分:0)
虽然所有建议都改善了我的运行时间,但这正是给我最好的时间而不改变我想要的东西。
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)"
我一直希望这是让我放慢速度的网络,但情况似乎并非如此。或者至少它不是我得到的高查询时间的主要原因。我猜我将不得不回去要求获得清理实际数据库和添加索引的许可。