当前位置: 首页> 科技> 名企 > 网络管理系统功能_网络游戏动漫设计专业_沈阳关键词优化价格_信阳网站推广公司

网络管理系统功能_网络游戏动漫设计专业_沈阳关键词优化价格_信阳网站推广公司

时间:2025/7/23 23:08:10来源:https://blog.csdn.net/anncyuyan/article/details/144818955 浏览次数:0次
网络管理系统功能_网络游戏动漫设计专业_沈阳关键词优化价格_信阳网站推广公司

1.讲一下mysql里有哪些锁?
2.数据库的表锁和行锁有什么作用?
3.MySQL两个线程的update语句同时处理一条数据,会不会有阻塞?
4.两条update语句处理一张表的不同的主键范围的记录,一个<10,一个>15,会不会遇到阻塞?底层是为什么的?
5.如果2个范围不是主键或索引?还会阻塞吗?
6.日志文件是分成了哪几种?
7.讲一下binlog
8.UndoLog日志的作用是什么?
9.有了undolog为啥还需要redolog呢?
10.redo log怎么保证持久性的?

1.讲一下mysql里有哪些锁?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
S共享锁,X排他锁。间隙锁是开开区间,next-key锁是开闭区间。

2.数据库的表锁和行锁有什么作用?

控制力度,锁冲突发生的可能性,使用场景。
一个适用于大批量,一个适用于频繁单行操作。

3.MySQL两个线程的update语句同时处理一条数据,会不会有阻塞?

会。
如果是两个事务同时更新了 id = 1,比如 update … where id = 1,那么是会阻塞的。因为 InnoDB 存储引擎实现了行级锁。(加X类型的记录锁)

4.两条update语句处理一张表的不同的主键范围的记录,一个<10,一个>15,会不会遇到阻塞?底层是为什么的?

不会。gap lock锁定的范围不同。
在这里插入图片描述

5.如果2个范围不是主键或索引?还会阻塞吗?

如果2个范围查询的字段不是索引的话,那就代表 update 没有用到索引,这时候触发了全表扫描,全部索引都会加行级锁,这时候第二条 update 执行的时候,就会阻塞了。

6.日志文件是分成了哪几种?

在这里插入图片描述

7.讲一下binlog?

sever层的,用于数据备份和主从复制的。
MySQL 在完成一条更新操作后,Server 层还会生成一条 binlog,等之后事务提交的时候,会将该事物执行过程中产生的所有 binlog 统一写 入 binlog 文件,binlog 是 MySQL 的 Server 层实现的日志,所有存储引擎都可以使用。

binlog 是追加写,写满一个文件,就创建一个新的文件继续写,不会覆盖以前的日志,保存的是全量的日志,用于备份恢复、主从复制;

在这里插入图片描述

8.UndoLog日志的作用是什么?

undo log 是一种用于撤销回退的日志,它保证了事务的 ACID 特性中的原子性(Atomicity)。
在事务没提交之前,MySQL 会先记录更新前的数据到 undo log 日志文件里面,当事务回滚时,可以利用 undo log 来进行回滚。

9.有了undolog为啥还需要redolog呢?

undo log是为了保证原子性,而redo log是为了保证持久性。
这和数据库的操作有关系。在操作执行时,会把先在buffer pool上记录,然后每隔一段时间写入磁盘。如果在写入磁盘之前,服务器发生了宕机,那么buffer pool里的数据就是销毁,因此需要再写入buffer pool之后,将这些操作写入redo log。这样,如果发生宕机等情况,数据库的重启时会根据redo log恢复到宕机前的状态。保证持久性。
在这里插入图片描述

10.redo log怎么保证持久性的?

Write-ahead logging(WAL)。
Redo log的顺序写入。
Checkpoint机制。
在这里插入图片描述
这里的顺序写入如何实现的看了知乎的问答,发现都没回答。。

关键字:网络管理系统功能_网络游戏动漫设计专业_沈阳关键词优化价格_信阳网站推广公司

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: