访问查询耗时太长

时间:2016-08-02 14:59:11

标签: ms-access optimization vbscript asp-classic ado

我正在尝试使用大约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秒。除了数据库本身的结构之外,是否有可能成为这个问题的原因的候选人?

1 个答案:

答案 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)"

我一直希望这是让我放慢速度的网络,但情况似乎并非如此。或者至少它不是我得到的高查询时间的主要原因。我猜我将不得不回去要求获得清理实际数据库和添加索引的许可。