快速获取mysql

时间:2015-12-28 14:50:03

标签: mysql sql query-optimization inner-join query-tuning

我在mysql中编写一个查询来连接两个表。这两个表都有超过50,000条记录。

表格EMP列 empid,

项目,

代码,

状态

表格EMPINFO

empid,

项目,

代码,

项目类型,

timespent,

技能

在每个表中都有候选键[empid,project,code]

所以当我使用INNER join加入表时

like this INNER JOIN 
ON a.empid = b.empid 
and a.project = b.project
and a.code = b.code

我得到了结果,但是如果我在外部查询中添加count(*)来计算记录数,那么连接失败会花费很多时间。

有没有办法加快获取记录数量?

我想听到更多关于加速内部联接查询的建议,以及在两个表中都有相同的候选键。

1 个答案:

答案 0 :(得分:0)

INDEX(empid, project, code) -- in any order.

这些表是1:1吗?如果是这样,为什么JOIN要做COUNT?

请提供SHOW CREATE TABLE。 (如果存在数据类型差异,这可能是一个大问题。)

请提供实际的SELECT

你有多少内存?请提供SHOW VARIABLES LIKE '%buffer%';