BlessingCR’s Blog

MySQL
文章归档

事务隔离级别

并发带来的问题 脏读(Dirty read): 当一个事务正在访问数据并且对数据进行了修改,而这种修改还没有提交到数据库中,这时另外一个事务也访问了这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是“脏数据”,…

   43   2023-02-21   去围观

表级锁和行级锁 MyISAM 仅仅支持表级锁(table-level locking),一锁就锁整张表,这在并发写的情况下性非常差。 InnoDB 不光支持表级锁(table-level locking),还支持行级锁(row-level locking),默认为行级锁。行级锁的粒度更小,仅对相关的记录上锁即可(对一行…

   47   2023-02-21   去围观

间隙锁Gap Lock

CREATE TABLE z (   id INT PRIMARY KEY AUTO_INCREMENT,   b  INT,   KEY b(b) ) ENGINE = InnoDB DEFAULT CHARSET = utf8; INSERT INTO z    (id, b) VALUES    (1, 2),  &…

   45   2023-02-21   去围观

优化建议

常见索引列建议 出现在 SELECT、UPDATE、DELETE 语句的 WHERE 从句中的列 包含在 ORDER BY、GROUP BY、DISTINCT 中的字段 并不要将符合 1 和 2 中的字段的列都建立一个索引, 通常将 1、2 中的字段建立联合索引效果更好 多表 join 的关联列 如…

   38   2023-02-21   去围观

聚簇索引和非聚簇索引

一张表只能有一个聚集索引,一般就是主键。 区别: 最核心区别: 数据是否全部在在B+树上的叶子节点上,聚簇的全在叶子,非聚簇的反之。 聚簇索引: 聚集索引即索引结构和数据一起存放的索引。主键索引属于聚集索引。 在 MySQL 中,InnoDB 引擎的表的&n…

   47   2023-02-21   去围观