MySql Join

MySql Join

概念

  • JOIN算法Nested-Loop Join(嵌套循环链接)
    • Simple Nested-Loop Join(实际不会用这种)
    • Index Nested-Loop Join 索引嵌套(通过索引减少外层与内层每条目比较次数)
    • Block Nested-Loop Join 缓存块嵌套循环连接(通过 join buffer 缓存一批外层关联值,减少内层与外层的匹配次数)(如果索引嵌套没有,则默认使用这个,所以尽量要有索引)
  • 尽量在 on 的时候过滤调大部分数据
  • 小表结果集驱动大表

驱动表

  • 通过EXPLAIN分析来判断在sql中谁是驱动表,EXPLAIN语句分析出来的第一行的表即是驱动表
  • join
    • mysql 会自动选择
  • left
    • 左边驱动表,要小,右边被驱动,要有索引(Index Nested-Loop Join)
  • right
    • 右边驱动表,要小,左边被驱动,要有索引(Index Nested-Loop Join)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值