mysql驱动表与被驱动表
--- ### **一、无索引场景下 Nested Loop Join 的局限性** 1. **无索引时的全表扫描问题** 当两张表均无索引时,Nested Loop Join 的内层循环需要对大表进行全表扫描,导致时间复杂度为 **O(n × m)**(n 和 m 分别为两表的行数)。此时,无论小表驱动大表还是大表驱动小表,总扫描行数均为两表行数的乘积,性能提升确实微乎其微。 • **示例**:若小表 1 万行、大表 100 万行,总扫描行数为 1 万 × 100 万 = 100 亿次,驱动表的选择对计算量无实质影响。 2. **笛卡尔积的代价** 无索引时,每次外层循环都需要对内层表执行全表扫描,等同于笛卡尔积操作。此时,小表驱动大表仅能减少外层循环次数(如 1 万次循环 vs 100 ...阅读全文