本文主要有以下内容 InnoDB行格式介绍 InnoDB页类型介绍 索引结构介绍 InnoDB独立表空间 在日常的开发中,免不了和 MySQL 数据库打交道,为了弄明白 MySQL 到底是如何存储数据的,花费了一些时间,详细阅读相关资料后,写下此文,方便后续自己复习相关知识。 本文的主要参考
MySQL版本引入了对JSON数据类型的支持,这为我们处理和存储非结构化数据提供了新的可能性。通过灵活利用MySQL的JSON函数,我们可以实现高效的查询和转换操作,提取有用的数据,并将其转换为有意义的格式。本文将深入探索MySQL中JSON数据的查询与转换技巧,帮助您更好地利用这一功能。 使用
本文首发于公众号【看点代码再上班】,欢迎围观,第一时间获取最新文章。 原文:还傻傻搞不懂MySQL事务隔离级别么(图文并茂,保证你懂!) 大家好,我是tin,这是我的第25篇原创文章 上一篇文章已经讲了事务的四大特征,如果不记得了可以再看一下: 昨天去银行转钱,最后怒失300万 。文章中
前言 在我之前对于mysql🔒锁的理解,我会毫不犹豫的说出,在innoDB 的引擎下是行锁,就是for update对每行数据进行加锁,在myISAM 引擎下是表锁,多线程并发的情况下将整个表进行加锁,还有就是页锁介于行锁和表锁之间,对每页数据进行加锁,或许这是一个很笼统的回答,后面对于mysql的
引入需要的模块(mysql、express、body-parser、cors、vue-resource)
OceanBase 环境基本都会先安装 OCP 来部署、监控、运维数据库集群。但如果有机器过保等问题,就需要有平稳的 OCP 节点的替换方案。 作者:张瑞远 上海某公司 DBA,曾经从事银行、证券数仓设计、开发、优化类工作,现主要从事电信级 IT 系统及数据库工作。有三年以上 OceanBase
基础概念 脏读一个事务中访问到了另外一个事务未提交的数据不可重复读一个事务内根据同一个条件对行记录进行多次查询,返回的结果不一致幻读同一个事务内多次查询返回的结果集不一样(增加了或者减少) 隔离级别 隔离级
本文主要记录了MySQL管理端口无法登录的排查过程,以及预防 too many connections 的一些建议。 作者:吕虎桥 爱可生DBA 团队成员,主要负责 DMP 平台和 MySQL 数据库的日常运维及故障处理。 本文来源:原创投稿 爱可生开源社区出品,原创内容未经授权不得随意使用,
InnoDB索引结构:B+树 InnoDB使用B+树(Balanced Tree)数据结构来实现索引。B+树是一种树形的数据结构,非叶子节点只存储索引值,叶子节点才存储数据的值,叶子节点从小到大有序,形成链表。 这种结构有两个优点: 磁盘读取是以数据块为单位读的,B+树的结构刚好与磁盘的访问模式
Undo log 悔做日志(Undo Log)是数据库事务管理的一个关键组成部分,尤其是在支持事务的存储引擎(如 MySQL 的 InnoDB 存储引擎)中。Undo Log 主要用于记录事务对数据的修改操作的反向操作,以便在事务回滚时撤销这些修改。在 InnoDB 存储引擎中,Undo Log 用
本文基于的数据库环境:MySQL 8.0.12,数据库引擎 InnoDB,MySQL 客户端 IntelliJ IDEA 2021.2.3 Database(重要) 表级锁 MySQL 里面表级别的锁有两种:一种是表锁,一种是元数据锁(meta data lock,MDL),这两中锁都是由 Serv
前面已经介绍了MYSQL的索引和锁机制,本文主要讲述MYSQL查询/更新语句该怎么写 建索引的原则 前面已经有章节讲述索引优化使用,本章节略有重复,主要讲述建立索引原则 最左前缀匹配 指在使用复合索引(即由多个列组成的索引)进行查询时,只有按照索引中最左边的列开始依次匹配,才能充分利用索引的优势。
前言 工作中我们基本上都是用MySQL的InnoDB存储引擎,但是大家有去了解过它的底层存储结构吗,想必绝大部分人不知道,或者说不知道怎么查相关知识,刚好来看这篇文章就对了! 数据表的文件构成 Mysql的存储行为是由Innodb存储引擎去具体实现的,在windows下安装Mysql后有data(数
作者通过全面系统的测试,揭秘 lower_case_table_names 设置对数据一致性的影响。 作者:刘安 爱可生测试团队成员,主要负责 DTLE 开源项目相关测试任务,擅长 Python 自动化测试开发。 本文来源:原创投稿 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联
作者:卢文双 资深数据库内核研发 序言: 以前对 MySQL 测试框架 MTR 的使用,主要集中于 SQL 正确性验证。近期由于工作需要,深入了解了 MTR 的方方面面,发现 MTR 的能力不仅限于此,还支持单元测试、压力测试、代码覆盖率测试、内存错误检测、线程竞争与死锁等功能,因此,本着分享的精神
长假某日,阳光明媚,春暖花开,想着一定是一个黄道吉日,必能顺风顺水,没想到却遇到一个有点小波折的客户报障。 一、故障起因 故障起因是客户前一天从自建MySQL迁移到云上RDS,在执行某个并发较高的业务时出现了大量锁等待,客户当时升级了实例到最高规格,但故障依旧。客户反馈升级后的实例规格比自建实例高了
mysql 我们先来看一下MySQL的基本架构,从大的方面来讲,一个server层,一个引擎层。server层就像一个接口,可以对接任何符合规定的引擎。具体的细节可以参考我之前写过的文章mysql的这些坑你踩过吗?快来看看怎么优化mysql MySQL的存储引擎的简单解读 我们看到,有的
MySQL的复制模式 异步复制 MySQL的复制方式默认是异步的,主从复制涉及三个线程 master I/O master I/O线程负责写入Binlog,并将执行结果返给客户端,至于Binlog有没有被IO线程读取,读取后有没有重放,重放有没有成功,它是不关心的。 slave I/O线程 负责将
本文将通过复制场景下的异常分析,介绍手工搭建MySQL主从复制时需要注意的关键细节。 作者:秦福朗 爱可生 DBA 团队成员,负责项目日常问题处理及公司平台问题排查。热爱互联网,会摄影、懂厨艺,不会厨艺的 DBA 不是好司机,didi~ 本文来源:原创投稿 爱可生开源社区出品,原创内容未经授权
本文作者分享了Oceanbase时间与数值类型隐式转换导致查询结果不符合预期或“不正确”问题的排查思路。 作者:任仲禹 爱可生 DBA 团队成员,擅长故障分析和性能优化,文章相关技术问题,欢迎大家一起讨论。 本文来源:原创投稿 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并