![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mysql专题
文章平均质量分 87
想去大厂上班
一个向往大厂的小菜鸡
展开
-
Mysql事务与锁机制
MVCCRR级别下如何保证可重复读,RR级别下如何避免快照读时的幻读问题,同理可以推得在RC级别下MVCC无法解决幻读和不可重复读原创 2023-06-21 10:58:45 · 74 阅读 · 0 评论 -
浅谈Mysql索引
索引是一种特殊的数据结构,用来协助快速查询、更新数据库表中数据,索引实现通常采用B+树,此外索引需要在物理空间上进行存储,所以索引也是一种特殊的文件。提高数据检索速度在时间上,创建和维护索引需要消耗时间,在进行DML操作时需要对索引进行维护,降低DML操作的效率;在空间上,索引需要占用一部分物理空间。数据和索引存储在一起,找到索引就能找到数据数据和所以 分开存储,叶子结点存放数据对应的地址哈希表,红黑树,B树,B+树,多用B+树。原创 2023-06-19 18:21:38 · 59 阅读 · 0 评论 -
Mysql存储引擎、日志、二阶段提交
回滚日志(undo log):用于保持事务的原子性和一致性,InnoDB引擎在事务回滚时通过undo log实现,在进行DML操作时,会记录一条操作语句的快照,每条快照有一个指针指向上一条快照,这样一来undo log会形成一个链表,链首是最新的记录,链尾是最旧的记录,这个链不回无限增长,有个purge线程,定期删除无用的undolog数据。重做日志(redo log):物理日志,用于保持事务的持久性,每当操作时,在磁盘数据变更之前,将操作写入redo log,这样当系统奔溃重启后可以继续执行。原创 2023-06-19 09:47:34 · 43 阅读 · 0 评论 -
数据库基础
关系型数据库是将复杂的数据结构用较为简单的二维表来表示,由二维表及其之间的联系所组成的一个数据组。在该类型数据库中,对数据的操作基本上都建立在一张或多张表上,采用结构化查询语言(SQL)对数据库进行操作,关系型数据库是比较主流的数据库技术。易于维护:使用二维表的表结构,格式一致;使用方便:SQL语言通用,关系型数据库都可以使用SQL进行操作;复杂操作:可用于一个表以及多个表之间非常复杂的查询。读写性能比较差,尤其是海量数据的高效率读写;固定的表结构,灵活度稍欠;原创 2023-06-18 17:57:41 · 36 阅读 · 1 评论