MySQL多表查询优化

直接说,多表查优化就靠这几点。

连接选对是关键。
INNER JOIN最常用,匹配的才查出来。
LEFT JOIN左表全保留,右表没匹配就空着。
别瞎用FULL JOIN,用UNION凑合。

JOIN怎么跑很重要。
MySQL就靠NESTED LOOP,大表跑小表最耗性能。
所以小表做驱动表,字段要有索引。

子查询别多用。
大表里子查询慢得离谱。
能用JOIN的都换成JOIN,自连接也用JOIN。

UNION跟UNION ALL选对省事。
UNION要去重,UNION ALL不用。
列得一样,排序放最后。

索引是根本。
连接字段必须加索引。
数据类型选数字省事。
EXISTS比IN快。
别用SELECT ,要啥列要啥列。

说到底就这几条:JOIN用对,小表做驱动,子查询少用,UNION选对,索引和数据类型搞明白。
你自己看。

【MySQL】中的多表连接是什么,以及如何实现全外连接查询?

多表连接是数据库查询的利器,内连接最常用,默认就是它。
左外和右外连接,一个主表数据全来,一个主表没匹配就NULL。
全外连接用UNION来模拟,左外右外合起来就是全外。
这样就能查到各种关联数据了。