mysql not in 或in 优化
2016-01-22 15:42
603 查看
参考 /detail/2554613063.html
请允许我复制下原文
not in 与其相反:
利用left join 查询 得出的结果集是a的全集以及a,b之间id相等的集合。此时条件b的id 是 not null的,那么a的id肯定在b中存在等同于查询语句中的in,反之,b的id是null的,a的id肯定不再b中等同于 not in
请允许我复制下原文
在mysql 中,not in 或in 优化思路, 利用left join 来优化,类似如下的查询方式 select id from a where id in (select id from b ) 如这样的查询方式,在大数据量的情况下,查询很慢,需要改写优化sql,那么就可以用left join来优化改写如下格式: select id from a left join b on a.id =b.id where b.id is not null 其实优化思想就是利用join 连接,提高效率 。
not in 与其相反:
select id form a left join b on a.id = b.id where b.id is null
利用left join 查询 得出的结果集是a的全集以及a,b之间id相等的集合。此时条件b的id 是 not null的,那么a的id肯定在b中存在等同于查询语句中的in,反之,b的id是null的,a的id肯定不再b中等同于 not in
相关文章推荐
- 【转】MYSQL 存储过程定时操作数据库
- mysql中myisamchk命令使用总结
- MySql—解压缩版本的安装与配制
- MySql的存储引擎
- 欢迎使用CSDN-markdown编辑器
- mysql安装一 --- 源码包安装
- EF+MySql
- MySQL基础配置之mysql的默认字符编码的设置(my.ini设置字符编码)
- MySQL C API mysql_free_result() 详解
- MySQL详解,第一章
- MySQL各版本的区别
- MySQL常见错误
- MySQL编码问题
- Hive学习2_错误: The specified datastore driver ("com.mysql.jdbc.Driver") was not found in the CLASSPATH
- 关于mysql 索引自动优化机制: 索引选择性(Cardinality:索引基数)
- mysql语句语法整理
- ubntu 下mysql 允许远程访问
- Mysql5.7.10新加用户
- EF MySql:Specified key was too long; max key length is 767 bytes解决方案
- Mysql支持的数据类型