MySQL进阶45讲【33】join语句怎么优化? 蔚落 2024-05-07 22:28 75阅读 0赞 ## 1 前言 ## 在上一篇文章中,介绍了join语句的两种算法,分别是IndexNested-Loop Join(NLJ)和Block Nested-Loop Join(BNL)。 我们发现在使用NLJ算法的时候,其实效果还是不错的,比通过应用层拆分成多个语句然后再拼接查询结果更方便,而且性能也不会差。 但是,BNL算法在大表join的时候性能就差多了,比较次数等于两个表参与join的行数的乘积,很消耗CPU资源。 当然了,这两个算法都还有继续优化的空间,我们今天就来聊聊这个话题。 为了便于分析,创建两个表t1、t2来展开今天的问题。 create table t1(id int primary key, a int, b int, index(a
相关 MySQL进阶45讲【14】count(*)这么慢,该怎么办? MySQL进阶45讲【14】count(*)这么慢,该怎么办? 骑猪看日落/ 2024年05月07日 22:32/ 0 赞/ 65 阅读
相关 MySQL进阶45讲【9】普通索引和唯一索引,应该怎么选择? MySQL进阶45讲【9】普通索引和唯一索引,应该怎么选择? 喜欢ヅ旅行/ 2024年05月07日 22:31/ 0 赞/ 71 阅读
相关 MySQL进阶45讲【38】insert语句的锁为什么这么多? MySQL进阶45讲【38】insert语句的锁为什么这么多? 爱被打了一巴掌/ 2024年05月07日 22:28/ 0 赞/ 74 阅读
相关 MySQL进阶45讲【23】MySQL是怎么保证主备一致的? MySQL进阶45讲【23】MySQL是怎么保证主备一致的? 柔光的暖阳◎/ 2024年05月07日 22:27/ 0 赞/ 62 阅读
相关 join 语句怎么优化? Simple Nested-Loop Join 我们来看一下当进行 join 操作时,mysql是如何工作的。常见的 join 方式有哪些? ![e1b9d18b4ca 痛定思痛。/ 2023年09月27日 09:57/ 0 赞/ 88 阅读
相关 MySQL-33:join语句原理 现在有表t,r,表t有a,b字段,表r有c,d字段,a字段和c字段有建立索引,表t有100000行数据,表r有6行数据。 我们先来普通的join语句,在join语句中,存在驱 小灰灰/ 2022年12月29日 14:07/ 0 赞/ 170 阅读
还没有评论,来说两句吧...