文章 2025-09-11 来自:开发者社区

介绍MySQL的InnoDB引擎特性

InnoDB是MySQL数据库管理系统中最流行的存储引擎之一,它提供了事务安全(ACID兼容)的特性,以及对并发控制和恢复能力的支持。以下是InnoDB引擎的一些核心特性: 事务支持:InnoDB提供了完整的ACID(原子性、一致性、隔离性和持久性)事务支持。这意味着它可以确保即使在系...

文章 2024-11-15 来自:开发者社区

InnoDB引擎特性

InnoDB事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键。MySQL5.5.5之后,InnoDB作为默认存储引擎,InnoDB主要特性有: InnoDB给MySQL提供了具有提交,回滚和崩溃恢复能力的事务安全(ACID兼容)存储...

文章 2024-06-26 来自:开发者社区

mysql的InnoDB引擎实现ACID特性的原理

实现ACID特性关键原理 InnoDB引擎实现ACID特性的具体方式是通过以下几个关键原理: 原子性(Atomicity) InnoDB使用事务日志(transaction log)来实现原子性。在每个事务开始时,InnoDB会创建一个事务日志,并将事务所做的修改操作记录到该日志中。事务进行过程中,所有的修改操作首先会被写入到内存中的缓冲池(buffer pool),然后...

文章 2024-06-13 来自:开发者社区

【MySQL技术内幕】2.6-InnoDB关键特性

1、插入缓存 1.1、Insert Buffer Insert Buffer 可能是 InnoDB 存储引擎关键特性中最令人激动与兴奋的一个功能。不过这个名字可能会让人认为插人缓冲是缓冲池中的一个组成部分。其实不然, InnoDB 缓冲池中有 Insert Buffer 信息固然不错,但是 Insert Buffer和数据页一样,也是物理页的一个组成部分。 在 InnoD...

【MySQL技术内幕】2.6-InnoDB关键特性
文章 2023-06-16 来自:开发者社区

MySQL InnoDB如何保证事务特性

如果有人问你“数据库事务有哪些特性”?你可能会很快回答出原子性、一致性、隔离性、持久性即ACID特性。那么你知道InnoDB如何保证这些事务特性的吗?如果知道的话这篇文章就可以直接跳过不看啦(#^.^#)先说结论:redo log重做日志用来保证事务的持久性undo log回滚日志保证事务的原子性undo log+redo log保证事务的一致性锁(共享、排他)用来保证事务的隔离性重做日志 re....

文章 2023-02-25 来自:开发者社区

MySQL之InnoDB关键特性

InnoDB关键特性插入缓冲(☆)在InnoDB存储引擎中,主键是唯一的标识符。应用程序中行记录的插入顺序是按照主键递增的顺序进行插入的。因此,插入聚簇索引(Primary key)一般是顺序的,不需要磁盘随机读写。比如定义一下SQL表:create Table t( a INT AUTO_INCREMENT, b VARCHAR(30), PRIMARY KEY(a) )但是不可能每张表...

MySQL之InnoDB关键特性
文章 2022-02-17 来自:开发者社区

MySQL - InnoDB特性 - Buffer Pool漫谈

缓存管理是DBMS的核心系统,用于管理数据页的访问、刷脏和驱逐;虽然操作系统本身有page cache,但那不是专门为数据库设计的,所以大多数数据库系统都是自己来管理缓存。由于几乎所有的数据页访问都涉及到Buffer Pool,因此buffer pool的并发访问控制尤为重要,可能会影响到吞吐量和响应时间,本文主要回顾一下MySQL的buffer Pool最近几个版本的发展(若有遗漏,欢迎评论补....

文章 2022-02-17 来自:开发者社区

InnoDB特性之-两次写

如果说插入缓冲是为了提高写性能的话,那么两次写是为了提高可靠性,牺牲了一点点写性能。   部分写失效 想象这么一个场景,当数据库正在从内存向磁盘写一个数据页时,数据库宕机,从而导致这个页只写了部分数据,这就是部分写失效,它会导致数据丢失。这时是无法通过重做日志恢复的,因为重做日志记录的是对页的物理修改,如果页本身已经损坏,重做日志也无能为力。   两次写机制 从上面分析我们知道...

文章 2022-02-16 来自:开发者社区

优化系列 | InnoDB引擎数据表压缩特性测试

一、前言 Innodb Plugin引擎开始引入多种格式的行存储机制,目前支持:Antelope、Barracuda两种。其中Barracuda兼容Antelope格式。 另外,Innodb plugin还支持行数据压缩特性,不过前提是采用Barracuda行存储格式。 表空间启用压缩的前提是innodb表空间文件存储格式修改成:Barracuda,需要修改2个选项: innodb_file_f....

文章 2022-02-16 来自:开发者社区

innodb 关键特性

插入缓冲 两次写 自适应哈希索引 异步IO 刷新邻接页 插入缓冲 innodb存储引擎对于非聚集索引的插入或更新操作,不是每一次直接插入到索引页中,而是先判断插入的非聚集索引页是否在缓冲池,若在,则直接插入;不在,则先放在一个insert buffer对象中。数据库这个非聚集的索引已经插到叶子节点,而实际并没有,知识存放在另一个位置。然后再以一定的频率和情况进行insert buffer和辅...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。