小表驱动大表

Posted juncaoit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小表驱动大表相关的知识,希望对你有一定的参考价值。

1.为什么使用小表驱动大表

  小表驱动大表,小的数据集驱动大的数据集

  因为连接比较消耗时间

  所以,小表写在先查询的地方

select * from employee where id in (select id from department)

  

2.exists

select * from employee e where id exists (select 1 from department d where e.id = d.id)

  

3.in与exists

  区别:

  in是小表驱动大表

  exists是大表驱动小表

 

  说明:

  在上面的2中,department的数据量大于employee,所以使用exists

以上是关于小表驱动大表的主要内容,如果未能解决你的问题,请参考以下文章

6.2 小表驱动大表(exists的应用)

查询优化--小表驱动大表(In,Exists区别)

了解MySQL联表查询中的驱动表,优化查询,以小表驱动大表

NL连接一定是小表驱动大表效率高吗

Mysql Join大表小表到底谁驱动谁

在MySQL查询中,为什么要用小表驱动大表