随笔分类 -  MYSQL

MySQL中exists和in的区别及使用场景
摘要:先放一段代码 分析以上代码可以看到两行代码除了循环的次序不一致意外,其他并无区别,在实际执行时两者所消耗的时间和空间应该也是一致的。但是这仅仅是在Java中,现在我们转化一下情景,最外层循环是数据库中的连接操作,内层循环为查找操作,那么现在两次的结果将相差巨大。 之所以出现这样的原因是数据库的特点决 阅读全文

posted @ 2019-10-24 10:53 追风的浪子 阅读(539) 评论(0) 推荐(0)

MySQL JOIN原理
摘要:先看一下实验的两张表: 表comments,总行数28856 表comments_for,总行数57,comments_id是有索引的,ID列为主键。 以上两张表是我们测试的基础,然后看一下索引,comments_for这个表comments_id是有索引的,ID为主键。 最近被公司某一开发问道JO 阅读全文

posted @ 2019-10-02 11:34 追风的浪子 阅读(805) 评论(0) 推荐(0)

多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP
摘要:多表之间的连接有三种方式:Nested Loops,Hash Join 和 Sort Merge Join. 下面来介绍三种不同连接的不同: 一. NESTED LOOP: 对于被连接的数据子集较小的情况,嵌套循环连接是个较好的选择。在嵌套循环中,内表被外表驱动,外表返回的每一行都要在内表中检索找到 阅读全文

posted @ 2019-10-01 16:37 追风的浪子 阅读(4070) 评论(0) 推荐(0)

数据库多表连接方式介绍-HASH-JOIN
摘要:1.概述 hash join是一种数据库在进行多表连接时的处理算法,对于多表连接还有两种比较常用的方式:sort merge-join 和 nested loop。 为了比较清楚的介绍hash join的使用场景以及为何要引入这样一种连接算法,这里也会顺带简单介绍一下上面提到的两种join方式。 连 阅读全文

posted @ 2019-10-01 16:31 追风的浪子 阅读(1611) 评论(0) 推荐(0)

MySQL中的case when 中对于NULL值判断的坑
摘要:sql中的case when 有点类似于Java中的switch语句,比较灵活,但是在Mysql中对于Null的处理有点特殊 Mysql中case when语法: 语法1: 语法2: 注意: 这两种语法是有区别的,区别如下: 1:第一种语法:case_value必须是一个表达式,例如 userid% 阅读全文

posted @ 2019-09-30 14:38 追风的浪子 阅读(35348) 评论(1) 推荐(3)

导航