@@ -1226,7 +1226,7 @@ LIMIT <limit_params>
12261226 SELECT 列名1,列名2,... FROM 表名;
12271227 ` ` `
12281228
1229- * 去除重复查询:只有值全部重复的才可以去除,需要创建临时表辅助查询
1229+ * ** 去除重复查询** :只有值全部重复的才可以去除,需要创建临时表辅助查询
12301230
12311231 ` ` ` mysql
12321232 SELECT DISTINCT 列名1,列名2,... FROM 表名;
@@ -1556,6 +1556,8 @@ SELECT * FROM emp WHERE name REGEXP '[uvw]';-- 匹配包含 uvw 的name值
15561556
15571557# ### 分组查询
15581558
1559+ 分组查询会进行去重
1560+
15591561* 分组查询语法
15601562
15611563 ` ` ` ` mysql
@@ -2052,6 +2054,8 @@ Join Buffer 可以通过参数 `join_buffer_size` 进行配置,默认大小是
20522054
20532055
20542056
2057+
2058+
20552059***
20562060
20572061
@@ -2074,6 +2078,8 @@ Join Buffer 可以通过参数 `join_buffer_size` 进行配置,默认大小是
20742078 SELECT 列名 FROM 表名1,表名2 WHERE 条件;
20752079 ` ` `
20762080
2081+ 内连接中 WHERE 子句和 ON 子句是等价的
2082+
20772083
20782084
20792085
@@ -2085,7 +2091,9 @@ Join Buffer 可以通过参数 `join_buffer_size` 进行配置,默认大小是
20852091
20862092外连接查询,若驱动表中的记录在被驱动表中找不到匹配的记录时,则该记录也会加到最后的结果集,只是对于被驱动表中** 不匹配过滤条件** 的记录,各个字段使用 NULL 填充
20872093
2088- 应用实例:差学生成绩,也想查出缺考的人的成绩
2094+ 应用实例:查学生成绩,也想查出缺考的人的成绩
2095+
2096+ (内连接快还是外连接快?)
20892097
20902098* 左外连接:选择左侧的表为驱动表,查询左表的全部数据,和左右两张表有交集部分的数据
20912099
@@ -2232,7 +2240,9 @@ Join Buffer 可以通过参数 `join_buffer_size` 进行配置,默认大小是
22322240
22332241#### 查询优化
22342242
2235- 不相关子查询的结果集会被写入一个临时表,并且在写入时** 去重** ,该过程称为** 物化** ,存储结果集的临时表称为物化表。系统变量 tmp_table_size 或者 max_heap_table_size 为表的最值
2243+ 不相关子查询的结果集会被写入一个临时表,并且在写入时** 去重** ,该过程称为** 物化** ,存储结果集的临时表称为物化表。
2244+
2245+ 系统变量 tmp_table_size 或者 max_heap_table_size 为表的最值
22362246
22372247* 小于系统变量时,内存中可以保存,会为建立基于内存的 MEMORY 存储引擎的临时表,并建立哈希索引
22382248* 大于任意一个系统变量时,物化表会使用基于磁盘的存储引擎来保存结果集中的记录,索引类型为 B+ 树
@@ -2246,7 +2256,7 @@ Join Buffer 可以通过参数 `join_buffer_size` 进行配置,默认大小是
22462256
22472257
22482258
2249- 详细内容可以参考:《MySQL 是怎样运行的》
2259+ 参考书籍: https://book.douban.com/subject/35231266/
22502260
22512261
22522262
0 commit comments