![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 84
温温嘞
这个作者很懒,什么都没留下…
展开
-
MySQL自增主键一定是连续的吗
不一定,有四种情况时不连续的。首先需要知道自增值保存在哪里:对于MyIsam存在。frm文件中,对于InnoDB存在内存中,并没有持久化,在第一次打开标的时候回去找自增值的最大值,然后将max(id)+ 1作为当前表的最大自增值。但是在8.0后提供了自增持久化的能力 ,自增值被记录在redo log中,也就是说如果发生重启,那么表的自增值可以根据redo log恢复为mysql重启之前的值。举例:我们现在表里当前数据行里最大的 id 是 1,AUTO_INCREMENT=2,对吧。原创 2023-03-28 21:06:24 · 344 阅读 · 0 评论 -
MySQL三大日志(binlog、redo log和undo log)
1.原创 2023-03-28 09:43:25 · 139 阅读 · 0 评论 -
Mysql索引
1.索引是一种可以快速查找和检索数据的数据结构,本质可以看成是一种排序号的数据结构2.MySQL中使用的是B+树作为索引结构。3.索引的优缺点优点:加快数据的检索速度创建唯一性索引,保证数据库表中每一行数据的唯一性缺点:创建和维护索引需要耗费大量的时间,如果进行增删改查的时候需要对表内的索引动态的修改,减低sql执行效率。索引会额外的占用物理存储空间。使用索引不一定能提升效率,如果数据库不够大,不用索引可能更快4.索引的底层数据结构:hash表: 拉链->红黑树。原创 2023-03-28 08:42:08 · 187 阅读 · 0 评论 -
MySQL常见面试题
InnoDB 支持行级别的锁粒度,MyISAM 不支持,只支持表级别的锁粒度。MyISAM 不提供事务支持。InnoDB 提供事务支持,实现了 SQL 标准定义了四个隔离级别。MyISAM 不支持外键,而 InnoDB 支持。MyISAM 不支持 MVCC,而 InnoDB 支持。虽然 MyISAM 引擎和 InnoDB 引擎都是使用 B+Tree 作为索引结构,但是两者的实现方式不太一样。MyISAM 不支持数据库异常崩溃后的安全恢复,而 InnoDB 支持。原创 2023-03-26 22:15:31 · 142 阅读 · 0 评论 -
数据库面试真题
MVCC(Multi-Version Concurrency Control,多版本并发控制)是一种常见的数据库并发控制技术,用于在多个事务同时访问同一数据时保证数据的一致性和并发性。它通过维护多个版本的数据来实现并发控制,每个事务只能看到自己可见的数据版本,而不会受到其他事务的影响。原创 2023-03-21 10:03:12 · 31 阅读 · 0 评论