极客时间|mysql实战 笔记收录
weixin_43987563
这个作者很懒,什么都没留下…
展开
-
01 | 基础架构 一条查询语句是如何执行的
大体来说,mysql可以分为Server层和存储引擎层两部分。server层包含连接器、查询缓存、分析器、优化器、执行器等,涵盖mysql的大多数核心功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。存储引擎层负责数据的存储和提取。其架构师插件式的,支持InnoDB、MyISAM、Memory等多个存储引擎。连接...原创 2018-12-06 10:32:07 · 155 阅读 · 0 评论 -
02 | 日志系统 一条更新语句是如何执行的
与查询流程不一样,更新流程涉及两个重要的日志模块:redo log(重做日志)和binlog(归档日志)redo log当有一条记录需要更新的时候,InnoDB引擎会先将记录写入redo log里,并更新内存,这个时候更新就算完成了。同时,InnoDB引擎会在适当的时候,将这个记录更新到磁盘里,这个更新往往是在系统比较空闲的时候做。redo log是有大小限制的,当文件被写满,此时需要...原创 2018-12-06 11:58:31 · 123 阅读 · 0 评论 -
03 | 事务隔离
隔离性与隔离级别SQL标准的事务隔离级别包括:读未提交(read uncommitted)、读提交(read committed)、可重复读(repeated read)和串行化(serializable)。读未提交是指,一个事务还没提交时,它做的变更就能被别的事务看到。读提交是指,一个事务提交之后,它做的变更才会被其他事务看到。可重复读是指,一个事务执行过程中看到的数据,总是跟这个事务...原创 2018-12-18 18:49:56 · 91 阅读 · 0 评论 -
04 | 深入浅出索引
索引的常见模型哈希表:仅使用等值查询有序数组:二分查找,区间查询友好,更新效率低,仅适用于静态存储引擎搜索树:由于二叉树高度较高,磁盘IO次数过多,所以实际使用N叉树。树根的数据块缓存于内存,树的第二层也有很大概率在内存中,进一步减少了访问磁盘的平均次数。InnoDB索引模型每一个索引在InnoDB中都对应一颗B+树。主键索引的叶子结点存的是整行数据(聚簇索引)非主键索引的叶子结...原创 2018-12-18 19:27:27 · 157 阅读 · 0 评论