![](https://img-blog.csdnimg.cn/876192b69773409683ec17af1f7e7783.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
mysql夺命连环问系列
文章平均质量分 82
八股
孤独时代的罗永浩
学架构中。。。
展开
-
谈谈你对MVCC的理解--来自某高手的回答
谈谈你对MVCC的理解我觉得可以从数据库的三种并发场景来说:第一种是读和读的并发,就是两个线程A和B同时进行读操作,这种情况不会产生任何并发问题。第一种是读和写的并发,就是两个线程A和B同一时刻分别进行读和写操作,这种情况可能会对数据库的数据造成以下问题:第一个是事务隔离性问题。第二个是会出现脏读、幻读、不可重复读的问题。第三种就是写和写的并发,就是两个线程A和B同时进行写操作,这种情况可能会造成更新丢失问题。而MVCC就是为了解决事务操作中并发安全问题的无锁并发控制技术。它是通过数据库中的原创 2022-03-25 06:38:11 · 1595 阅读 · 0 评论 -
MySQL夺命连环问4--你对Mysql的日志熟悉是吧?
目录MySQL的redo log,undo log,bin log都是干什么的?MySQL 有哪些重要的日志文件?redo log 和 binlog 有什么区别?什么是 crash-safe?什么是脏页和干净页?什么情况下会引发 MySQL 刷脏页(flush)的操作?MySQL 刷脏页的速度很慢可能是什么原因?MySQL 的 WAL 技术是解决什么问题的?为什么有时候会感觉 MySQL 偶尔卡一下?redo log 和 binlog 是怎么关联的?MySQL 怎么知道 binlog 是完整的?MySQL原创 2022-02-15 14:57:57 · 145 阅读 · 0 评论 -
MySQL夺命连环问3--你对Mysql的锁熟悉是吧?
目录什么是死锁?如何解决死锁?什么是乐观锁和悲观锁?如何实现?说一下 MySQL 的行锁和表锁?InnoDB 存储引擎的锁的种类有哪些?对MySQL的锁了解吗隔离级别与锁的关系按照锁的粒度分数据库锁有哪些?锁机制与InnoDB锁算法从锁的类别上分MySQL都有哪些锁呢?像上面那样子进行锁定岂不是有点阻碍并发效率了什么是死锁?如何解决死锁?死锁是指两个或多个事务在同一资源上相互占用,并请求锁定对方的资源,从而导致恶性循环的现象。常见的解决死锁的方法如果不同程序并发存取多个表,尽量约定以相同的顺序访问原创 2022-02-15 13:36:42 · 165 阅读 · 0 评论 -
MySQL夺命连环问2--你对Mysql的索引熟悉是吧?
目录你对Mysql的索引熟悉是吧?谈谈你对索引的理解?索引使用场景索引设计的原则?创建索引的原则(重中之重)创建索引的三种方式,删除索引索引的底层使用的是什么数据结构?创建索引时需要注意什么?谈谈你对 B+ 树的理解?为什么 InnoDB 存储引擎选用 B+ 树而不是 B 树呢?谈谈你对聚簇索引的理解?谈谈你对覆盖索引的认识?索引的分类?谈谈你对最左前缀原则、最左匹配原则的理解?怎么知道创建的索引有没有被使用到?或者说怎么才可以知道这条语句运行很慢的原因?什么情况下索引会失效?即查询不走索引?查询性能的优化原创 2022-02-14 14:23:22 · 287 阅读 · 0 评论 -
MySQL夺命连环问1--你对Mysql的事务熟悉是吧?
目录什么是数据库事务?事物的四大特性(ACID)介绍一下?刚才你说原子性是基于日志的Redo/Undo机制,你能说一说Redo/Undo机制吗?之前你还提到事务的隔离级别,你能说一说吗?事务隔离咋实现的?那回滚日志什么时候删?长事务为什么建议不用?你在上面提到MVCC(多版本并发控制),你能说一说原理吗?什么是多版本并发控制呢?InnoDB的MVCC实现机制那你知道快照(视图)在MVCC底层是怎么工作的吗?那对于一个快照来说,你直到它在MVCC里要遵循什么规则吗?假如两个事务执行写操作,又怎么保证并发呢?为原创 2022-02-13 15:55:58 · 4768 阅读 · 4 评论