【发布时间】:2015-12-28 14:50:02
【问题描述】:
我正在 mysql 中编写一个查询来连接两个表。并且两个表都有超过 50,000 条记录。
表 EMP 列 空虚,
项目,
代码,
状态
表 EMPINFO
empid,
项目,
代码,
项目类型,
花费的时间,
技能
每个表都有候选键[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(*) 来计算记录数,连接失败会花费很多时间。
有什么方法可以加快获取记录的数量吗?
我想听听更多关于加快内部联接查询以及在两个表中具有相同候选键的建议。
【问题讨论】:
-
请显示您的完整查询和表定义。
-
您要加入的字段是否有索引?
-
这个计数在哪里使用? UI 中的大多数记录集对象都有一个作为记录集对象的一部分自动返回的记录计数。我想我是在问您是否需要在数据库或 UI 中进行计数。
标签: mysql sql query-optimization inner-join query-tuning