提高 ACCESS 中的更新性能

Improving update performance in ACCESS

我在 Access 中有 2 个 table:

tbl_RM: (+ for primary key)
  + CustomerName (short text)
  + CountryCode  (short text)
  + RMDate       (Date/Time - format mmm-yy)
  + SerialNumber (short text)
    BlackClicks  (Double)
    ColorClicks  (Double)
    AccentClicks (Double)
    ProfessionalColorClicks (Double)

第二个table

tbl_Invoices: (+ for primary key)
  + CustomerName (short text)
  + CountryCode  (short text)
  + InvoiceDate  (Date/Time)
  + SerialNumber (short text)
    BlackClicks  (Double)
    ColorClicks  (Double)

tbl_RM 包含 98 496 条记录(其中 9113 条与下面的查询匹配)

tbl_Invoices 包含 9 618 条记录(全部匹配以下请求)。

我想用 tbl_RM 中的数据更新 tbl_Invoices。这是我的更新查询:

UPDATE tbl_Invoices
INNER JOIN tbl_RM 
      ON tbl_Invoices.CustomerName = tbl_RM.CustomerName
      AND tbl_Invoices.CountryCode = tbl_RM.CountryCode
      AND tbl_Invoices.SerialNumber = tbl_RM.SerialNumber
      AND MONTH(tbl_RM.RMDate) = MONTH(tbl_Invoices.InvoiceDate)
      AND YEAR(tbl_RM.RMDate) = YEAR(tbl_Invoices.InvoiceDate)
SET tbl_Invoices.BlackPages =  tbl_RM.BlackClicks + tbl_RM.AccentClicks,
tbl_Invoices.ColorPages =  tbl_RM.ColorClicks + tbl_RM.ProfessionalColorClicks

当 运行 这在 ACCESS 2013 中计算时需要数小时。我想有一种方法可以加快速度。非常欢迎任何建议。

第一个建议是 tbl_RM(CustomerName, CountryCode SerialNumber) 上的索引。可能已经足够好了。如果不是,那么您可能还需要处理索引中的日期。