案例sql

    1. select *
    2. from class
    3. left join book
    4. on class.card = book.card
    5. left join phone
    6. on book.card = phone .card

    索引应该建在
    class 表的card字段
    book 表的 card字段
    其实和两表查询差不多, 也是左边右建索引, 右表建左边索引
    索引最好设置在需要经常查询的字段中

    【结论】
    尽可能减少join语句中的NestedLoop的循环总次数 “永远用小结果驱动大结果集”
    优先优化NestedLoop的内层循环
    保证join语句中被驱动表上join条件字段已经被索引
    当无法保证被驱动表的join条件字段被索引且内存资源充足的前提下,不要太吝啬JoinBuffer的设置

    结果图:
    join 案例3 ,三表连接索引优化 及join优化结论 - 图1

    join 案例3 ,三表连接索引优化 及join优化结论 - 图2