
SQL
文章平均质量分 91
一些小知识
夜上窗
我中了你的毒,却找不到解药
展开
-
SQL中的in与not in、exists与not exists的区别以及性能分析
1、in和existsin是把外表和内表作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 · 277 阅读 · 1 评论 -
SQL 之 ICP 索引条件下推
回表与覆盖索引正式讲 ICP 之前了,我们先将相关的概念捋一捋,知道的就当回顾,不知道的就当了解了,这有助于对 ICP 的理解建个示例表tbl_indexCREATETABLEtbl_index(c1INT,c2INT,c3CHAR(1),PRIMARYKEY(c1),KEYidx_c2(c2));覆盖索引如果 where 条件的列和 select 的列都在一个索引中,通过这个索引就可以完成查询,这就叫就叫覆盖索...原创 2021-01-07 11:23:12 · 245 阅读 · 0 评论