Chinaunix
标题:
mysql的JOIN算法
[打印本页]
作者:
asdf2110
时间:
2013-05-24 14:57
标题:
mysql的JOIN算法
请问 mysql 的join 有类似oracle 的 hash join 、sort merge join 吗
如果没有的话, 那么两个表做 join 时,岂不是会很慢吗?
比如 1个表 10条,1个表 1000w 条
求解释,谢谢
作者:
CTUOS
时间:
2013-05-27 10:58
oracle。。。就不是很懂老
。。mysql有左。右。内连接。。。mysql的查询机制是首先排除不符合条件的数据。。
。。。快慢是相对的。。左。右。内连接肯定要比子查询快。。
。。。若如你所说。。一个表就1000W行。。我觉得这个DBA不是很称职。。
作者:
asdf2110
时间:
2013-05-27 11:05
你所说的 左、右、内,还有全,半,反半等是连接类型,
hash 、sort merge 、nested loop 是连接算法
另外,1000w的表很常见吧
回复
2#
CTUOS
作者:
CTUOS
时间:
2013-05-27 11:58
。连接类型本身就有算法
。。mysql的 join 只有 nested loop。。一种算法。。
。。如果你想要更快点的话。。1000W行的表。。我建议你拆分。
作者:
byrcc
时间:
2013-05-28 11:17
MySQL里只有nest loop join,MariaDB的5.5版本里有hash join
大表连接,统计分析,一般都不用mysql搞吧
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2