1、前提条件子查询是作为条件,作为一个结果集返回给外层,或者返回结果集让from表过滤条件的一种手段方式:分为where 后面子查询 和from后面或者join后面的子查询来加入语句中。
2、子查询由相关子查询和非相关子查询两种,尽量使用非相关子查询语句,这样查询只是用一次,作为一个整体结果集来使用。
3、子查询在join后面的话,也是一样的mysql 使用Nested Loop Join 算法,就是嵌套循环算法,查询出来的join(语句),也是作为一个整体结果集做过滤条件的,问题在于是否使用的关联的方式,如果使用关联的方式那么也是外面循环一次,里面查询也要依次循环一次,而作为一个整体结果集,就不会循环外层的参数了,尽量使用非相关子查询来使用。
4、尽可能的少关联使用join这个关键字,在表的数据量少的情况下可以使用,多的话,循环起来也是个麻烦的。
子查询优化思路
最新推荐文章于 2024-08-12 15:06:16 发布