
大白话聊MySQL
文章平均质量分 94
这里是大白话+图解MySQL,有MySQL优化的深入介绍、SQL的执行流程、索引的底层逻辑、InnoDB的底层架构及组件介绍、MySQL的持久性、一致性的说明等。
王二蛋!
个人网站:hicxy.cn
COC西安主理人
展开
-
中国数据库的前世今生:披荆斩棘,乘风破浪
从古至今,人类会用各种方式记录数据,从原始时期在木头和骨头上刻痕,到古代文明中的竹简、丝帛以及纸张上的笔墨记载,直到20世纪50年代,人类对数据的管理进入数据库时代。在数据库成为当今数字化时代记录和管理数据的主要方式之一,你知道其发展历程吗?让我们一起了解中国数据库的前世今生吧。原创 2024-08-14 08:29:09 · 10960 阅读 · 12 评论 -
为什么会有“建议MySQL单表数据控制在2000W”的说法?
经常听到“建议MySQL单表数据控制在2000W”这样的说法,这个说法的背后是因为表数据量过大会导致查询性能低下。那么2000W是怎么来的?综上所述,“建议MySQL单表数据控制在2000W”是根据每行记录大小为1KB估算的,并非一个标准,还是要根据实际情况去决定单表的数据量。原创 2024-08-08 08:53:16 · 530 阅读 · 0 评论 -
解决分库分表查询的巧妙设计:异构索引表
最近计划参与一个换书活动,翻到《企业IT架构转型之道阿里巴巴中台战略思想与架构实战》这本书时,回想起令我印象比较深刻的一个知识点:“异构索引表”,所以在此记录并分享,和大家共同学习交流。全库扫描和不必要的计算资源消耗。但是,异构索引表并不适用所有场景,对于复杂的查询场景可能需要结合其他技术或策略来解决问题。原创 2024-07-31 14:17:25 · 1419 阅读 · 0 评论 -
面试官必问:MySQL并发事务是怎么处理的?
MVCC 全称 Multi-Version Concurrency Control(多版本并发控制),在数据库管理系统中通过保存数据的多个版本来避免读写冲突,从而提高并发处理能力。MySQL通过事务隔离、锁机制、MVCC处理并发事务。事务隔离“读未提交”不做并发处理,不保证数据一致性。事务隔离“串行化”通过锁机制进行并发处理,并发性能低下。事务隔离“读已提交”和“可重复读”通过MVCC进行并发处理,并发性能高。原创 2024-03-18 09:45:52 · 1142 阅读 · 1 评论 -
面试官:谈一下对MySQL事务隔离的理解
隔离是什么?看到“隔离”这个字眼,估计大部分人的第一反应就是“WC,阳了”,那么“隔离你”就是为了保证其他人的安全。MySQL中的事务隔离也是这样的,主要是为了确保在并发事务执行时,各个事务之间能够相互独立、互不干扰地运行,从而保证数据的一致性。MySQL提供了多种事务隔离级别,包括读未提交、读已提交、可重复读和串行化等。这些隔离级别在并发性能和数据一致性之间提供了不同的权衡,可以根据具体的应用场景和需求来选择适合的隔离级别。原创 2024-03-13 09:39:01 · 1032 阅读 · 1 评论 -
MySQL主从复制原理与实践:从配置到故障监控
上文《MySQL数据被误删怎么办?介绍了MySQL在故障或者误删数据后,可以通过备份+binlog的方式进行数据恢复。但是,当备份文件和binlog都丢失了呢?所以单节点是不可靠的,为了避免单节点故障带来的数据丢失以及MySQL服务的可用性,生产环境通常都是采用高可用或者集群模式。而在这背后则离不开主从复制技术,所以本文对主从复制的原理和操作展开介绍,从而全面了解这一技术。不管是备份恢复还是主从复制,其目的都是为了提高MySQL的可靠性、可用性等。原创 2024-01-19 11:47:04 · 1555 阅读 · 7 评论 -
MySQL数据被误删怎么办?
有一次生产环境的一个bug本地没办法复现,由于没有测试人员,也就不存在测试环境,所以本地连了生产库去调试。不出意外的话要出意外了:在调试的过程中,我俩当作开发环境很自然的把数据给删了。作为一名只会CRUD的小白怎么会恢复数据这么高级的操作,不过还好,经过我俩一小时的百度,在各种ctrl+c、ctrl+v的命令操作下,最终成功的把数据恢复了。原创 2024-01-12 16:40:04 · 2109 阅读 · 7 评论 -
MySQL是如何保证数据一致性的?
通过上文《MySQL是如何保证数据不丢失的?可以了解DML的操作流程以及数据的持久化机制。对于一个数据库而言,除了数据的持久性、不丢失之外,一致性也是非常重要的,不然这个数据是没有任何意义的。在使用MySQL时,数据不一致的情况也可能出现,所以,本文就来看看MySQL是如何保证数据一致的。MySQL一致性的保证基本上涉及到InnoDB存储引擎的各个组件,「Buffer Pool」、「Log Buffer」、「Redo Log」、「Undo Log」等,还有DML操作的流程、锁、故障恢复等功能。原创 2024-01-03 16:17:17 · 2518 阅读 · 6 评论 -
MySQL是如何保证数据不丢失的?
上篇文章《InnoDB在SQL查询中的关键功能和优化策略》对InnoDB的查询操作和优化事项进行了说明。但是,MySQL作为一个存储数据的产品,怎么确保数据的持久性和不丢失才是最重要的,感兴趣的可以跟随本文一探究竟。原创 2023-12-20 09:57:34 · 5390 阅读 · 11 评论 -
InnoDB在SQL查询中的关键功能和优化策略
通过上篇文章《MySQL的体系结构与SQL的执行流程》了解了SQL语句的执行流程以及MySQL体系结构中**「连接器」「SQL接口」「解析器」「优化器」「执行器」**的功能以及在整个流程中的作用。不过上篇文章留了个尾巴,在执行器调用存储引擎后,存储引擎内部做了什么事没有进一步说明,本文会对此展开介绍,使得我们对SQL整体的执行流程有更加清晰的认识。先了解下存储引擎是干什么的。原创 2023-12-12 21:02:48 · 2143 阅读 · 1 评论 -
MySQL的体系结构与SQL的执行流程
如果你在使用MySQL时只会写sql语句的,那么你应该看一下《MySQL优化的底层逻辑》。如果你只了解到sql是如何优化的,那么你应该通过本文了解一下Mysql的体系结构以及sql语句的执行流程。原创 2023-11-24 15:29:33 · 2849 阅读 · 9 评论 -
MySQL优化的底层逻辑
你知道为什么要用B+Tree、为什么使用索引有那么多注意事项吗?所以还是要知其然知其所以然,看完这篇文章你就懂了。原创 2023-11-17 17:18:36 · 879 阅读 · 4 评论 -
MySQL事务隔离实现原理,多版本并发控制MVCC
MVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。MVCC在MySQL InnoDB中的实现主要是为了提高数据库并发性能,用更好的方式去处理读写冲突,做到即使有读写冲突时,也能做到不加锁,非阻塞并发读。原创 2022-10-07 20:37:08 · 224 阅读 · 0 评论 -
MySQL性能调优参考
一、数据类型的优化二、合理使用范式和反范式三、合理使用索引四、执行计划的查看五、sql的性能监控优化总结原创 2022-07-15 09:15:02 · 585 阅读 · 0 评论