大白话聊MySQL
文章平均质量分 95
这里是大白话+图解MySQL,有MySQL优化的深入介绍、SQL的执行流程、索引的底层逻辑、InnoDB的底层架构及组件介绍、MySQL的持久性、一致性的说明等。
王二蛋!
关注公众号:Hi程序员 参加赠书活动、金三银四面试。
展开
-
面试官必问:MySQL并发事务是怎么处理的?
MVCC 全称 Multi-Version Concurrency Control(多版本并发控制),在数据库管理系统中通过保存数据的多个版本来避免读写冲突,从而提高并发处理能力。MySQL通过事务隔离、锁机制、MVCC处理并发事务。事务隔离“读未提交”不做并发处理,不保证数据一致性。事务隔离“串行化”通过锁机制进行并发处理,并发性能低下。事务隔离“读已提交”和“可重复读”通过MVCC进行并发处理,并发性能高。原创 2024-03-18 09:45:52 · 924 阅读 · 1 评论 -
面试官:谈一下对MySQL事务隔离的理解
隔离是什么?看到“隔离”这个字眼,估计大部分人的第一反应就是“WC,阳了”,那么“隔离你”就是为了保证其他人的安全。MySQL中的事务隔离也是这样的,主要是为了确保在并发事务执行时,各个事务之间能够相互独立、互不干扰地运行,从而保证数据的一致性。MySQL提供了多种事务隔离级别,包括读未提交、读已提交、可重复读和串行化等。这些隔离级别在并发性能和数据一致性之间提供了不同的权衡,可以根据具体的应用场景和需求来选择适合的隔离级别。原创 2024-03-13 09:39:01 · 951 阅读 · 1 评论 -
MySQL主从复制原理与实践:从配置到故障监控
上文《MySQL数据被误删怎么办?介绍了MySQL在故障或者误删数据后,可以通过备份+binlog的方式进行数据恢复。但是,当备份文件和binlog都丢失了呢?所以单节点是不可靠的,为了避免单节点故障带来的数据丢失以及MySQL服务的可用性,生产环境通常都是采用高可用或者集群模式。而在这背后则离不开主从复制技术,所以本文对主从复制的原理和操作展开介绍,从而全面了解这一技术。不管是备份恢复还是主从复制,其目的都是为了提高MySQL的可靠性、可用性等。原创 2024-01-19 11:47:04 · 1311 阅读 · 7 评论 -
MySQL数据被误删怎么办?
有一次生产环境的一个bug本地没办法复现,由于没有测试人员,也就不存在测试环境,所以本地连了生产库去调试。不出意外的话要出意外了:在调试的过程中,我俩当作开发环境很自然的把数据给删了。作为一名只会CRUD的小白怎么会恢复数据这么高级的操作,不过还好,经过我俩一小时的百度,在各种ctrl+c、ctrl+v的命令操作下,最终成功的把数据恢复了。原创 2024-01-12 16:40:04 · 1784 阅读 · 7 评论 -
MySQL是如何保证数据一致性的?
通过上文《MySQL是如何保证数据不丢失的?可以了解DML的操作流程以及数据的持久化机制。对于一个数据库而言,除了数据的持久性、不丢失之外,一致性也是非常重要的,不然这个数据是没有任何意义的。在使用MySQL时,数据不一致的情况也可能出现,所以,本文就来看看MySQL是如何保证数据一致的。MySQL一致性的保证基本上涉及到InnoDB存储引擎的各个组件,「Buffer Pool」、「Log Buffer」、「Redo Log」、「Undo Log」等,还有DML操作的流程、锁、故障恢复等功能。原创 2024-01-03 16:17:17 · 1975 阅读 · 6 评论 -
MySQL是如何保证数据不丢失的?
上篇文章《InnoDB在SQL查询中的关键功能和优化策略》对InnoDB的查询操作和优化事项进行了说明。但是,MySQL作为一个存储数据的产品,怎么确保数据的持久性和不丢失才是最重要的,感兴趣的可以跟随本文一探究竟。原创 2023-12-20 09:57:34 · 5125 阅读 · 11 评论 -
InnoDB在SQL查询中的关键功能和优化策略
通过上篇文章《MySQL的体系结构与SQL的执行流程》了解了SQL语句的执行流程以及MySQL体系结构中**「连接器」「SQL接口」「解析器」「优化器」「执行器」**的功能以及在整个流程中的作用。不过上篇文章留了个尾巴,在执行器调用存储引擎后,存储引擎内部做了什么事没有进一步说明,本文会对此展开介绍,使得我们对SQL整体的执行流程有更加清晰的认识。先了解下存储引擎是干什么的。原创 2023-12-12 21:02:48 · 1953 阅读 · 1 评论 -
MySQL的体系结构与SQL的执行流程
如果你在使用MySQL时只会写sql语句的,那么你应该看一下《MySQL优化的底层逻辑》。如果你只了解到sql是如何优化的,那么你应该通过本文了解一下Mysql的体系结构以及sql语句的执行流程。原创 2023-11-24 15:29:33 · 2703 阅读 · 9 评论 -
MySQL优化的底层逻辑
你知道为什么要用B+Tree、为什么使用索引有那么多注意事项吗?所以还是要知其然知其所以然,看完这篇文章你就懂了。原创 2023-11-17 17:18:36 · 715 阅读 · 4 评论 -
MySQL事务隔离实现原理,多版本并发控制MVCC
MVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。MVCC在MySQL InnoDB中的实现主要是为了提高数据库并发性能,用更好的方式去处理读写冲突,做到即使有读写冲突时,也能做到不加锁,非阻塞并发读。原创 2022-10-07 20:37:08 · 158 阅读 · 0 评论 -
MySQL性能调优参考
一、数据类型的优化二、合理使用范式和反范式三、合理使用索引四、执行计划的查看五、sql的性能监控优化总结原创 2022-07-15 09:15:02 · 387 阅读 · 0 评论