【发布时间】:2014-08-11 07:48:01
【问题描述】:
我有 3 个表,每个表都有近 70,000 个数据 当我执行选择查询时,我添加了一个内部联接,它的工作速度比它更快。
以下工作更快
select A.id from product as A
inner join product_cat as B on A.id=B.mapped_id
或
select A.id from product as A
inner join product_sup as C on A.id = C.mapped_id
(一个内连接会更快)
但是当我在同一个选择查询中添加两个内部联接时,它的工作速度太慢了(不显示数据它只是在 phpmyadmin 中显示加载标签)
select A.id
from product as A
inner join product_cat as B
on A.id = B.mapped_id
inner join product_sup as C
on A.id = C.mapped_id
我的目的只是找出数据库中有多少记录。 也尝试过使用计数功能,但需要太多时间。
任何帮助将不胜感激, 谢谢,
【问题讨论】:
-
快速问题(我想我知道答案):您的第三个代码部分是错误的,对吧?您将 product_cat 作为 B 两次,并且不包括 product_sup 任何时候!
-
当数据库查询运行缓慢时,请对查询执行 EXPLAIN,并查看表上的索引,以及实际使用的索引......在此处发布这些信息也有助于人们回答你的问题
标签: mysql query-optimization inner-join