mysql
文章平均质量分 59
mysql学习笔记
humanyr
个人笔记
展开
-
mysql sql查询语句执行流程
一条sql语句执行时,在mysql内部的流程是怎样的呢? 这里对mysql内部拆解一下,这样当碰到mysql的一些异常或者问题时,能快速定位解决问题 先看下mysql的逻辑架构图 大体来说,mysql可以分为Server层跟存储引擎层两部分 Server层包括连接器,查询缓存,分析器,优化器,执行器等,涵盖mysql的大多数核心服务功能,以及所有的内置函数(如日期,时间,数学和加密函数等,)所有的跨存储引擎的功能都在这一层实现,比如存储过程,触发器,视图等。还有一个通用的日志模块 binglog日原创 2021-12-22 14:13:06 · 798 阅读 · 0 评论 -
MYSQL回表查询与索引覆盖
一、什么是回表查询? 这先要从InnoDB的索引实现说起,InnoDB有两大类索引: 聚集索引(clustered index) 普通索引(secondary index) InnoDB聚集索引和普通索引有什么差异? InnoDB 聚集索引 的叶子节点存储行记录,因此, InnoDB必须要有,且只有一个聚集索引: 如果表定义了PK,则PK就是聚集索引; 如果表没有定义PK,则第一个not NULL unique列是聚集索引; 否则,InnoDB会创建一个隐藏的row-id作为聚集索引;原创 2021-12-21 17:23:15 · 98 阅读 · 0 评论 -
mysql之group_concat(合并列)
group_concat (合并列) 跟group by合用,一般group by会根据字段分组,但是这样可能将一些数据给筛选掉 下面直接通过例子来了解: 现在有一段数据如下: 这里有许多重复的operate_id,但对应着不同的region_id 如果我们想根据operate_id来分组,就会发现只能返回一个region_id 但我们想既分了组又想region_id不会被筛选掉,这时候就可以使用group_concat()了 使用如下: 只要group_concat(字段名),它就会根据原创 2021-05-08 14:33:06 · 1364 阅读 · 0 评论