Access 2016中的查询运行时

时间:2018-04-20 13:13:44

标签: sql ms-access

我有两个非常大的文件,其中两个字段都有类似的数据。现在我想使用一个查询来比较这两个文件并输出特定列(Field3)的所有行,其中file1.field1 == file2.field1。这当然可以通过简单的查询来完成。我不能使用连接,因为字段中的文本太多,所以我使用WHERE,但这显然减慢了查询的速度。

查询:

SELECT Category_list.Field3
FROM Category_list, Uri_list
WHERE (Category_list.Field1=Uri_list.Field1);

现在这个查询正在运行,但我不知道需要多长时间。这可能需要几个小时,但如果需要数天,我就不会感到惊讶。 是否可以在访问中查看查询的距离,以便至少可以了解运行时的内容?

Category_list有大约280万行,Uri_list有大约400万行。如果需要,我可以将Uri_list降低到最小约100.000行,但这取决于运行时..

提前感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

我的建议:

  • 使用文本导入助手
  • 将这两个文件作为本地表导入到Access中
  • 在Field1上的两个表中创建索引。如果值是唯一的,唯一的索引甚至更好的PrimaryKey;如果不是,则为非唯一索引。
  • 使用JOIN创建简单查询

这应该足够快。

  

是否有可能在访问中查看查询的距离,以便至少可以了解运行时的内容?

有时(特别是对于Update查询),Access会显示进度条。但如果没有,不 - 没有办法看到进展。