【MySQL学习】9.锁1 InnoDB中的锁在MySQL官方文档中(version 5.7),InnoDB中有以下几种锁: Shared and Exclusive Locks:共享(乐观)锁、排他/互斥/独占锁 Intention Loc 2023-06-21 MySQL学习MySQL 锁 【MySQL学习】8.事务原理与MVCC1 实现机制WAL(Write-ahead logging,预写式日志)机制。 在使用 WAL 的系统中,所有的修改都先被写入到日志中,然后再被应用到系统中。通常包含 redo 和 undo 两部分信息。 WAL机制 这两个日志都是 In 2023-06-19 MySQL学习MySQL MVCC 【MySQL学习】7.InnoDB 引擎底层解析1 常见引擎 种类 特点 InnoDB 现Mysql的默认事务型存储引擎,并且提供了行级锁和外键的约束。性能不错且支持自动崩溃恢复 MyISAM Mysql 5.1 版本前的默认存储引擎。特性丰富但不支持事务,也不支持行级锁和 2023-06-15 MySQL学习MySQL InnoDB 【MySQL学习】6.执行原理1 单表访问之索引合并MySQL在一般情况下执行一个查询时最多只会用到单个二级索引,但存在有特殊情况,也可能在一个查询中使用到多个二级索引,MySQL中这种使用到多个索引来完成一次查询的执行方法称之为:索引合并/index merg。e 1 2023-06-07 MySQL学习MySQL 性能优化 【MySQL学习】5.性能优化1 调优金字塔1.1 架构调优调优金字塔 在进行优化时,首先需要关注和优化的应该是架构,如果架构不合理, 即使是 DBA 能做的事情其实是也是比较有限的。 对于架构调优,在系统设计时首先需要充分考虑业务的实际情况: 是否可以把不适合数据 2023-06-06 MySQL学习MySQL 性能优化 【MySQL学习】4.高性能索引1 索引的本质帮助MySQL高效获取数据的数据结构。 2 索引分类 数据结构维度:B+树索引,Hash索引,全文索引(Full Text),R树索引。 物理存储维度:聚集索引,非聚集索引。 逻辑维度:空间索引(Spatial Index), 2023-06-01 MySQL学习MySQL 索引 【MySQL学习】3.表结构设计和数据类型优化1 表设计1.1 数据库表设计良好的表结构设计是高性能的基石,应该根据系统将要执行的业务查询来设计,这往往需要权衡各种因素。糟糕的表结构设计,会浪费大量的开发时间,严重延误项目开发周期,让人痛苦万分,而且直接影响到数据库的性能,并需要花费大 2023-05-31 MySQL学习MySQL 范式与反范式设计 【MySQL学习】2.事务和事务的隔离级别1 什么是事务? 是数据库管理系统(DBMS)执行过程中的一个逻辑单位(不可再进行分割),由一个有限的数据库操作序列构成(多个DML语句,select语句不包含事务),要不全部成功,要不全部不成功。 2 事务特性2.1 原子性(atomi 2023-05-30 MySQL学习MySQL 事务 【MySQL学习】1.基础1 推荐书籍-《深入浅出 MySQL》-《深入理解 MySQL 核心技术》-《高性能 MySQL》-《MySQL 技术内幕 : InnoDB 存储引擎 第 2 版》-《MySql必知必会》 2 MySQL 的分支、变种与替代MySQL 变种 2023-05-24 MySQL学习MySQL