# MySQL 的存储引擎有哪些?它们之间有什么区别?
6 min read
MySQL 存储引擎是数据库底层用于管理数据存储、索引实现、事务处理等核心操作的组件化架构,它决定了数据的物理存储结构和逻辑访问特性。
MySQL 存储引擎是数据库底层用于管理数据存储、索引实现、事务处理等核心操作的组件化架构,它决定了数据的物理存储结构和逻辑访问特性。
聚簇索引是数据行物理存储顺序与索引键值逻辑顺序一致的索引结构,即索引即数据;而非聚簇索引是独立于数据行存储的索引结构,其叶子节点仅存储指向数据行的指针。
MySQL 索引是一种帮助存储引擎高效获取数据的排好序的数据结构,它通过减少磁盘 I/O 次数来加速数据检索。
索引下推(Index Condition Pushdown,ICP)是 MySQL 5.6 引入的一项查询优化技术,其本质是将 WHERE 子句中部分过滤条件下推到存储引擎层执行,减少回表次数和服务器层的数据处理量。
乐观锁是一种无锁化的并发控制思想,它假设事务间冲突概率低,只在提交时检测冲突;悲观锁则是一种先加锁后操作的并发控制思想,它假设事务间冲突概率高,在操作前就锁定资源。
MySQL InnoDB 存储引擎的默认事务隔离级别是 可重复读(REPEATABLE READ),这是为了在保证数据一致性的同时,提供较好的并发性能而设计的平衡选择。