![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
SQL
文章平均质量分 90
一些小知识
夜上窗
我中了你的毒,却找不到解药
展开
-
SQL中的in与not in、exists与not exists的区别以及性能分析
1、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列的索引;原创 2021-01-07 10:35:18 · 223 阅读 · 0 评论 -
SQL 之 ICP 索引条件下推
回表与覆盖索引 正式讲 ICP 之前了,我们先将相关的概念捋一捋,知道的就当回顾,不知道的就当了解了,这有助于对 ICP 的理解 建个示例表tbl_index CREATETABLEtbl_index( c1INT, c2INT, c3CHAR(1), PRIMARYKEY(c1), KEYidx_c2(c2) ); 覆盖索引 如果 where 条件的列和 select 的列都在一个索引中,通过这个索引就可以完成查询,这就叫就叫覆盖索...原创 2021-01-07 11:23:12 · 178 阅读 · 0 评论