MS Access追加查询太大了

时间:2017-07-05 16:33:03

标签: sql ms-access

我有一个包含大量定价数据表= EB的数据库。我想将45天的定价数据附加到该表中,因此我在下面编写了查询。查询似乎没有运行,因为我得到2 GB警告和内存警告。 EB表中有716,580条记录,我已在Symbol和Date上编入索引。

请帮忙,因为我是新手。 感谢

INSERT INTO EB ( Symbol, Description, [Currency], UNITS, [Date], LOW, HIGH, [CLOSE], INDEX_MIDPOINT, VOLUME, BID, ASK, [OPEN], MEAN )
SELECT EB_hist.Symbol, EB_hist.Description, EB_hist.Currency, EB_hist.UOM, 
EB_hist.Date, EB_hist.[Low(l)], EB_hist.[High(h)], EB_hist.[Close(c)], 
EB_hist.[Index(u)], EB_hist.[Volume(v)], EB_hist.[Bid(b)], EB_hist.[Ask(a)], 
EB_hist.[Open(o)], EB_hist.[Mean(m)]
FROM EB, EB_hist
WHERE (((EB_hist.Date)>(select MAX([Date]) from EB)));

1 个答案:

答案 0 :(得分:1)

EB和EB_hist之间的SELECT中没有JOIN子句。这导致笛卡尔关系(每个表的每个记录与其他表的每个记录相关联),这可能是查询达到2GB限制的原因。这是整个Access数据库的限制。尝试从SELECT中删除EB(而不是SELECT Max()子查询)。

建议名称中不要使用空格或标点符号/特殊字符(仅限下划线异常)。另外,date,close,currency是保留字,不应该使用保留字作为名称。