MySQL性能优化:嵌套循环连接算法详解.pdfVIP

  • 1
  • 0
  • 约小于1千字
  • 约 2页
  • 2026-07-14 发布于北京
  • 举报

MySQL性能优化:嵌套循环连接算法详解.pdf

(1)SimpleNested-LoopJoin

简单嵌套循环连接实际上就是简单的嵌套循环,如果table1有1万条数据,table2有1万条数据,那

么数据比较的次数=1万*1万=1亿次,这种查询效率会非常慢。

(2)IndexNested-LoopJoin:

索引嵌套循环连接是基于索引进行连接的算法,索引是基于内层表的,通过外层表匹配条件直接与

内层表索引进行匹配,避免和内层表的每条记录进行比较,从而利用索引的查询减少了对内层表的

匹配次数,优势极大的提升了join的性能.

使用场景:只有内层表join的列有索引时,才能用到IndexNested-LoopJoin进行连接。

由于用到索引,如果索引是辅助索引而且返回的数据还包括内层表的其他数据,则会回内层表查询

数据,多了一些IO操作。

(3)BlockNested-LoopJoin:

这种算法是将外层循环的行/结果集存入joinbuffer,内存循环的每一行数据与整个buffer中的记录做比

较,可以减少内层循环的扫描次数。

举个简单的例子:外层循环结果集有1000行数据,使用NLJ算法需要扫描内层表1000次,但如果使用

BNL算法,则先取出外层表结果集的1

文档评论(0)

1亿VIP精品文档

相关文档