根据指定的字段排序来显示结果,是我们写应用时最常见的需求之一了,比如一个交易系统中,按照交易时间倒序显示交易记录。 相信你听说过这样的建议:如果有order by的需求,给需要排序的字段加上索引,就可以避免数据库排序操作。 所谓数据库排序操作,是指数据库在执行过程中,先将满足条件的数据全部读出来,放入内存中,再执...
1:每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去,该模式为系统默认。 2:每次事务提交时MySQL都会把log buffer的数据写入log file,但是flush(刷到磁盘)操作并不会同时进行。该模式下,MySQL会每秒执行一次 flush(刷到磁盘)操作。 binlog(归档日志) Server层日志。binlog 日志只能...
极客时间上丁奇的《MySQL实战45讲》,总体来说深入浅出,不会讲得特别深,面向的是中高级一点的开发同...
《丁奇 -MySQL45讲 -01》之归纳总结 01 | 基础架构:⼀条 SQL查询语句是如何执⾏的?MySQL架构图 左 侧 图 是丁奇⽼师原本的图,右 侧 是个⼈理解所画的,按照在⽂中的理论来说,个⼈认为应该是先查询缓存,如果查不到才会进⾏词法分析,⽐如有⼀条SQL:select * from T where ID = 10...
《丁奇-MySQL45讲-03》之归纳总结 03 | 事务隔离:为什么你改了我还看不见 事务的特性:ACID,即对应原子性、一致性、隔离性、持久性。通过undo log来保证原子性,能够撤销事务内的所以操作来保证原子性,要么是全部都成功,通过redo log来保证持久性,会根据策略进行刷脏,通过锁+MVCC的方式来保证隔离性,而一致性指...
mysql45讲丁奇 数据库 面试 运维 MySQL 丁奇mysql45 讲 mysql实战45讲丁奇资源 01 | 基础架构:一条SQL查询语句是如何执行的?MySQL架构图左侧图是丁奇老师原本的图,右侧是个人理解所画的,按照在文中的理论来说,个人认为应该是先查询缓存,如果查不到才会进行词法分析,比如有一条SQL:select * from T where ID ...
MySQL丁奇45讲(上) 基础篇# 基础架构:一条SQL查询语句是如何执行的# Mysql可以分为Server层和存储引擎层两部分 Server层包括连接器、查询缓存、分析器、优化器、执行器,以及所有的内置函数。所有垮存储引擎的功能,比如存储过程、触发器、视图等 存储引擎层负责数据存储和提取,架构模式是插件式,默认引擎是InnoDB...
这里把第一篇先发出来。《MySQL实战45讲》原课程链接:https://time.geekbang.org/column/intro/...
mysql实战45讲丁奇 mysql 丁奇 1.基础架构:一条sql查询语句是如何执行的? mysql> select * from T where ID=10; .基础架构:一条sql更新语句是如何执行的? mysql> update T set c=c+1 where ID=2; redo log (1)存储引擎的日志,InnoDB特有的;
丁奇mysql实战45讲(二)笔记 技术标签: mysql[2.日志系统:一条SQL更新语句是如何执行的] MySQL 里经常说到的 WAL 技术,WAL 的全称是 Write-Ahead Logging,它的关键点就是先写日志,再写磁盘 先介绍两个模块:redolog和binlog 这里再挂一下mysql的逻辑架构图 一.物理日志redo log(重做日志) 在mysql中,假如每次...