- 1
- 0
- 约小于1千字
- 约 2页
- 2026-07-14 发布于北京
- 举报
(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)