连接器: 身份认证和权限相关(登录 MySQL 的时候)。 查询缓存: 执行查询语句的时候,会先查询缓存(MySQL 8.0 版本后移除,因为这个功能不太实用)。 分析器: 没有命中缓存的话,SQL 语句就会经过分析器,分析器说白了就是要先看你的 SQL 语句要干嘛,再检查你的 SQL 语句语法是否正确。 优化器: 按
MyISA
MySQL 5.5 之前,MyISAM 引擎是 MySQL 的默认存储引擎,MySQL 5.5 版本之后,InnoDB 是 MySQL 的默认存储引擎。 (1)是否支持行级锁 MyISAM 只有表级锁,而 InnoDB 支持行级锁和表级锁,默认为行级锁。 具体的锁详情请参考阿Q的此篇文章:面试必备常见存储引擎与锁
为什么 M
在MySQL 5.7及之前的版本,自增值保存在内存里,并没有持久化; 唯一键冲突:插入数据时先将自增主键+1,然后插入数据时唯一键冲突,插入数据失败,但是未将自增主键改回; 事务回滚:和唯一键冲突类似,回滚操作时自增值也不回退,事实上,这么做的主要原因是为了提高性能。
redo
redo log(重做日志)是InnoDB存储引擎独有的,它让MySQL拥有了崩溃恢复能力。 比如 MySQL 实例挂了或宕机了,重启时,InnoDB存储引擎会使用redo log恢复数据,保证数据的持久性与完整性。 更新表数据的时候,如果发现 Buffer Pool 里存在要更新的数据,就直接在 Buffer P
redo
InnoDB 存储引擎为 redo log 的刷盘策略提供了 innodb_flush_log_at_trx_commit 参数,它支持三种策略 设置为0的时候,表示每次事务提交时不进行刷盘操作,只是保留在 redo log buffer中,mysql 崩溃会丢失1s的数据; 设置为1的时候,表示每次事务提交
人生的路很漫长,无论怎么选择,我们都要走向成熟的,都是朝着终点走去的。要学会不断地否定自己,世界是对的,错的是我们,慢慢地剔除年少的偏执轻狂;要学会体察他人,修炼包容大度的胸襟,其实对与错没有绝对,就看你心灵的境界有多宽广;要学会简单,你对世界简单了,世界也就不会太复杂。
暂无
微信
暂无