in和exists的区别
来源:互联网 发布:js获取选中的radio 编辑:程序博客网 时间:2024/06/14 16:50
http://www.cnblogs.com/seasons1987/archive/2013/07/03/3169356.html
in和exists
in是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询,一直以来认为exists比in效率高的说法是不准确的。如果查询的两个表大小相当,那么用in和exists差别不大;如果两个表中一个较小一个较大,则子查询表大的用exists,子查询表小的用in;
例如:表A(小表),表B(大表)
select * from A where cc in(select cc from B) -->效率低,用到了A表上cc列的索引;select * from A where exists(select cc from B where cc=A.cc) -->效率高,用到了B表上cc列的索引。
相反的:
select * from B where cc in(select cc from A) -->效率高,用到了B表上cc列的索引select * from B where exists(select cc from A where cc=B.cc) -->效率低,用到了A表上cc列的索引。
阅读全文
0 0
- exists 和 in 的区别
- exists 和 in 的区别
- Exists和In的区别
- EXISTS和IN的区别
- exists 和in 的区别
- exists 和 in 的区别
- in 和 exists的区别
- in和exists的区别
- in和exists的区别
- in和exists的区别
- in 和exists 的区别
- EXISTS和IN的区别
- IN 和EXISTS的区别
- exists和in的区别和优化
- in 和 exists 区别
- IN和EXISTS区别
- in 和 exists区别
- in 和 exists区别
- F
- 图像处理界双线性插值算法的优化
- redis php扩展安装(window)
- 使用eclipse搭建Spring框架
- 直播协议 HTTP-FLV 详解
- in和exists的区别
- 多态,虚函数,纯虚函数 , 虚析构函数 ,抽象类
- 深度学习与文本分类总结第二篇--大规模多标签文本分类
- 操作系统的学习(3)——物理内存管理:非连续内存分配
- kaldi 安装
- ButterKnife解析
- Android自定义ViewGroup常用知识点归类
- ffmpeg 交叉编译 make install: strip: Unable to recognise the format of the input file
- 【Python】numpy学习总结2