mysql - 如何加快 MySQL 中两个表的比较

标签 mysql indexing

我在 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/

相关文章:

MYSQL 仅转储索引

javascript - javascript ajax 无法正常工作

mysql - 使用 MySQL 进行报告 - 最简单的查询花费的时间太长

python - 将切片索引存储为对象

sql-server - 字符长度的 900 字节索引大小限制

elasticsearch - 如何在 “more like this”查询中组合不同的索引?

macos - MAMP 出现异常 MySql 错误

c# - 无法将运行时连接字符串转换为其设计时等效的 Visual Studio 2012

java - 在java中关闭MySQL数据库连接

mysql - 为什么 MySQL 不能使用部分主键索引?