通过MS Access中的多个内部联接加快查询速度

时间:2019-01-27 21:25:12

标签: performance ms-access

正如标题所说,我需要改进我在ms访问中所做的查询,这些表来自链接的数据库。我无法索引他们。我需要帮助来了解花了这么长时间...有没有类似的功能 解释访问?我是否需要在某种分组方式中放入更多列?我需要做些什么来提高速度(首先选择的组有4M行,但是分组后只有321k,并且在笔记本电脑不崩溃时需要20分钟才能运行)

SELECT a.SEQ_NO, 
       b.SKU, 
       b.maxdate, 
       (a.BASE_COST/a.EXCHANGE) AS BASE_COST, 
       (a.NET_COST/a.EXCHANGE) AS NET_COST, 
       (a.NET_NET_COST/a.EXCHANGE) AS EXCHAGED_NET_NET_COST, 
       a.NET_NET_COST, 
       (a.DEAD_NET_NET_COST/a.EXCHANGE) AS DEAD_NET_NET_COST, 
       (a.LANDED_COST/a.EXCHANGE) AS LANDED_COST, 
       (a.POSEIMA/a.EXCHANGE) AS POSEIMA, 
       (a.TOTAL_BONUS/a.EXCHANGE) AS TOTAL_BONUS, 
       (a.IEC/a.EXCHANGE) AS IEC, 
       (a.IEC_BONUS/a.EXCHANGE) AS IEC_BONUS, 
       (a.ECO_INVOICE_FORN/a.EXCHANGE) AS ECO_INVOICE_FORN_SYSTEM, 
       (a.ECO_INVOICE/a.EXCHANGE) AS ECO_INVOICE_SYSTEM, 
       (a.ECO_MERCHANDISE/a.EXCHANGE) AS ECO_MERCHANDISE_SYSTEM, 
       c.SUPPLIER, 
       c.SUP_NAME, 
       d.UPC, 
       d.PRIMARY_UPC_IND, 
       f.BRAND, 
       g.DEPT, 
       g.DESC_UP, 
       g.CLASS, 
       g.SUBCLASS, 
       h.AV_COST, 
       h.UNIT_RETAIL AS Last_of_unit_retail, 
       h.STATUS, i.[UNIT VALUE], 
       i.[INITIAL DATE], 
       i.[END DATE] INTO PRICELIST
FROM (((((((RMS_MC_NB_PRICELIST_COST AS a INNER JOIN (SELECT MAX(SEQ_NO) AS 
ID, SKU, MAX(ACTIVE_DATE) AS maxdate FROM RMS_MC_NB_PRICELIST_COST GROUP BY 
SKU)  AS b ON a.SEQ_NO = b.ID)
INNER JOIN RMS_MC_SUPS AS c ON a.SUPPLIER = c.SUPPLIER)
INNER JOIN RMS_MC_UPC_EAN AS d ON b.SKU = d.SKU) 
INNER JOIN RMS_MC_WIN_ATTRIBUTES AS e ON b.SKU = e.SKU) 
INNER JOIN RMS_MC_NB_BRAND AS f ON e.NB_BRAND_NO = f.BRAND_NO) 
INNER JOIN RMS_MC_DESC_LOOK AS g ON b.SKU = g.SKU) 
INNER JOIN RMS_MC_WIN_STORE AS h ON b.SKU = h.SKU) 
LEFT JOIN MAPA_APOIOS_SISO AS i ON b.SKU = i.[# ARTICLE];

0 个答案:

没有答案