好的习惯都是慢慢养成的 , 因此你要记住无论在什么情况下都用小表驱动大表 , 先记住这个结论 。
如果是Nested-Loop Join
算法 , 应该选择小表作为驱动表 。
如果是Block Nested-Loop Join
, 当join_buffer足够大的时候 , 使用大表还是小表作为驱动表都是一样的 , 但是当join_buffer没有手动设置更大的值时 , 还是应该选择小表作为驱动表 。
这里还需要知道一点join_buffer的默认值为在MySQL8.0为256kb 。
第三个问题:什么样的表是小表?
这里的小表不是数据量非常小的表 , 这点一定不能搞错 , 在所有的SQL查询中绝大多数情况是有条件进行筛选的 。
看是否为小表是根据同一条件下两张表那个检索的数据量小 , 那张表就是小表 。
推荐阅读死磕MySQL系列总目录
打开order by的大门 , 一探究竟《死磕MySQL系列 十二》
重重封锁 , 让你一条数据都拿不到《死磕MySQL系列 十三》
闯祸了 , 生成环境执行了DDL操作《死磕MySQL系列 十四》
聊聊MySQL的加锁规则《死磕MySQL系列 十五》
坚持学习、坚持写作、坚持分享是咔咔从业以来所秉持的信念 。 愿文章在偌大的互联网上能给你带来一点帮助 , 我是咔咔 , 下期见 。
- 为什么许多人用过iPhone后,都不愿意再换回安卓?几点原因太真实
- 供应链管理|为什么有时候下载到99%就不动了?别着急,原因是这样的
- CPU|为什么你会觉得互联网买菜很便宜?
- 本文转自:大众日报□赵丰今天是3月15日国际消费者权益日。|观澜亭|科技向善共促消费公平:莫让算法变成算计
- 把算法开关交给消费者,好!
- 在2022年苹果春季发布会后|苹果“雷电数据线”为什么要卖到1000元吗
- 淘宝|为什么说景区大数据缺一不可?
- 前程无忧|压倒前程无忧最后的稻草:移动应用、算法推荐
- 互联网广告|宇宙飞船都能造,俄罗斯为什么没造出互联网巨头?
- 算法|95后扎堆“互联网”行业,年薪可达百万!