1. 左外连接

    连接字段加索引,且类型要相同。

    1. 内连接

    对于内连接来说,查询优化器可以决定谁作为驱动表,谁作为被驱动表。
    如果表连接条件中只有一个字段有索引,那么有索引字段所在的表会作为被驱动表。
    如果表连接条件中两个字段都有索引,那么会选择小表作为驱动表。小表驱动大表。
    小结:

    • 保证被驱动表的JOIN字段已经创建了索引需
    • 要JOIN 的字段,数据类型保持绝对一致。
    • LEFT JOIN 时,选择小表作为驱动表,大表作为被驱动表。减少外层循环的次数。
    • INNER JOIN 时,MySQL会自动将小结果集的表选为驱动表。选择相信MySQL优化策略。
    • 能够直接多表关联的尽量直接关联,不用子查询。(减少查询的趟数)
    • 不建议使用子查询,建议将子查询SQL拆开结合程序多次查询,或使用 JOIN 来代替子查询。
    • 衍生表建不了索引