
mysql
文章平均质量分 86
码虫码农
这个作者很懒,什么都没留下…
展开
-
浅解mysql之存储引擎 Buffer Pool
一.Buffer Pool这个内存数据结构到底长个什么样子MySQL对数据抽象出来了一个数据页的概念,他是把很多行数据放在了一个数据页里.实际上假设我们要更新一行数据,此时数据库会找到这行数据所在的数据页,然后从磁盘文件里把这行数据所在的数据页直接给加载到Buffer Pool里去.也就是说,Buffer Pool中存放的是一个一个的数据页磁盘中存放的数据页的大小是16KB,也就是说,一页数据包含了16KB的内容。而Buffer Pool中存放的一个一个的数据页,我们通常叫做缓存页,因为毕竟Bu原创 2021-03-27 09:42:58 · 322 阅读 · 0 评论 -
innoDB存储引擎架构设计
一. innoDB的核心是Buffer pool(缓冲池)1.mysql 执行器,在执行语句的时候,先看看缓冲池有没有数据,如果没有,才会从磁盘里面刷数据进缓冲池。2.缓冲池的缓存被修改后且提交事务后,会随机将数据刷回磁盘二.事务没提交前,缓存被修改了,想回滚数据怎么办?1.缓冲池在修改数据的时候,会先把旧数据写一份进undo日志文件,确保提交事务之前都可以回滚数据。三。如果在提交事务后,缓冲池修改过的数据,还没来得及刷入磁盘,突发宕机,怎么办?1.innoDB存..原创 2021-03-27 07:52:53 · 273 阅读 · 0 评论 -
mysql 学习笔记
一.检索数据1. DISTINCT检索不同的行 SELECTDISTINCTXX FROM XX 使用DISTINCT关键字,只返回不同的值2.LIMIT限制结果 SELECT XX FROM XX LIMIT 5 此语句使用SELECT语句检索单个列。LIMIT 5指示MySQL返回不多于5行SELECT XX FROM XX...原创 2019-12-19 23:14:08 · 88 阅读 · 0 评论 -
简单理解聚集索引和非聚集索引
一 聚集索引的形成:InnoDB要求表必须有主键(MyISAM可以没有),innodb会按照如下规则进行处理: 1,如果一个主键被定义了,那么这个主键就是作为聚集索引 2,如果没有主键被定义,那么该表的第一个唯一非空索引被作为聚集索引 3,如果没有主键也没有合适的唯一索引,那么innodb内部会生成一个隐藏的主键作为聚集索引,这个隐藏的主键是一个6个字节的列,改列的值会随着...原创 2019-04-04 15:42:43 · 4472 阅读 · 2 评论