我在 MySQL 中有两个大表,一个包含大约 6,00,000 条记录,另一个包含大约 90,000 条记录。我在这两个表中有一个公共(public)字段,我想根据它来比较记录。我在这个公共(public)字段上索引了两个表,但查询执行仍然需要很长时间。以下是我使用的查询:
SELECT a.url,a.title,a.description,a.jobreferenceno,a.location,a.state,
a.country,a.created_datetime,a.postalcode,a.company
FROM TABLE1 as a
WHERE EXISTS (
select b.checkfield
from TABLE2 as b where a.checkfield=b.checkfield
);
checkfield
是两个表中的公共(public)列。
关于如何加快速度有什么建议吗?
最佳答案
检查使用连接而不是子查询是否更快:
SELECT a.url, a.title, a.description, a.jobreferenceno, a.location, a.state, a.country, a.created_datetime, a.postalcode, a.company FROM TABLE1 as a join TABLE2 as b on a.checkfield=b.checkfield;
关于mysql - 如何加快 MySQL 中两个表的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9989152/