0

我在 mysql 数据库中有一个大表(600 万条记录)。如果我链接表,我可以很好地打开它——似乎访问会根据需要请求记录。但是,如果我使用直通查询,似乎在打开它之前访问请求整个表。这在我的普通表(200,000)记录上已经足够慢了,但是大的记录是不可能的。我想使用直通来使用 sql 语句,但我需要让它更快。有没有办法做到这一点?谢谢!

编辑: 这是查询;没有比这更简单的了。 SELECT * FROM Traffic12

4

1 回答 1

3

您的查询要求 ENTIRE 表。Access 正在按照您的要求执行操作。只有当您希望在服务器上执行 WHERE 子句(过滤)或在服务器上进行连接时,或者当您利用服务器端功能(例如UDF)或当您想添加后端服务器将理解的“提示”时。

您在不使用 pt 查询时注意到的明显性能优势来自 Access 一次仅获取一定数量的行;但是当您使用 pass-thru 时,您会绕过分页算法的这种优化。

当过滤在服务器端完成时,pass-thru 查询在带宽方面可能比 non-pt 更简洁,因此相对于 non-pass-thru 可以产生很大的性能提升。或者有时后端是一个巨大的 4-CPU 机器,具有大量 RAM,并且可以在闪存中处理大量索引。您必须评估情况,看看哪种方法更好,同时考虑所有因素。

于 2011-01-13T13:32:30.893 回答