![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
文章平均质量分 76
kennhua
这个作者很懒,什么都没留下…
展开
-
MySQL数据库事务
事务事务,就是为了保证一组数据库操作,要么全部成功,要么全部失败。在MySQL中,事务支持是在引擎层实现的,支持事务的引擎并不多,常见的就是我们经常用的Innodb引擎。事务的可靠性模型ACIDAtomicity 原子性: 一次事务中的操作要么全部成功, 要么全部失败Consistency 一致性:跨表、跨行、跨事务, 数据库始终保持一致状态Isolation 隔离性:保护事务不会互相干扰, 包含4种隔离级别Durability 持久性:事务提交成功后,不会丢数据。如电源故障, 系统崩溃事原创 2021-03-14 14:19:33 · 152 阅读 · 0 评论 -
为什么一般单表数据不超过2000万
索引的存储结构MySQL的InnoDB引擎的索引使用B+树的结构,最小存储单元是页,也就是一个节点,InnoDB引擎默认一个页的大小为16k,页可以用于存放数据也可以用于存放键值+指针,在B+树中叶子节点存放数据,非叶子节点存放键值+指针。原因假设B+树的高度是2,那么存放的总记录数=根节点的指针数 * 单个叶子节点记录行数,假设主键是bigint类型,在MySQL中,bigint占8个字节,指针占6个字节,那么一个主键+指针数=14个字节,一个页大小为16k,那么根节点的主键+指针数=16 * 1原创 2021-03-13 22:06:07 · 495 阅读 · 1 评论 -
MySQL数据库索引
提到数据库索引,很多人应该都不陌生,查询SQL慢的时候,一般的做法就是加索引。索引的出现其实就是为了提高数据查询的效率,就像书的目录一样,让我们可以很快的定位到具体哪一页,而不是一页一页的查找。索引模型常见的索引模型有哈希表、有序数组、B-Tree、B+Tree。哈希表跟数据结构讲的HashMap差不多,把值放在数组里,用一个哈希函数把 key 换算成一个确定的位置,然后把 value 放在数组的这个位置。当有多个值哈希之后的值相等时,数组上的值会形成链表。有个缺点就是因为链表不是有序的,所以哈希原创 2021-03-13 21:23:16 · 435 阅读 · 0 评论