join的过程

以下内容基于MySQL的InnoDB引擎

表t1 join 表t2。
先从驱动表t1中找到满足WHERE条件的记录,此时是单表查询;
然后拿着上述记录一一到被驱动表t2中去查找符合条件的记录,此时也是单表查询;
基于这个基本过程,可知,

  • 小表应该作为驱动表(左表),在全表扫描时,扫描次数也更少;
  • 被驱动表对应的字段应该有索引,避免全表扫描,提高查找效率;