mysql引擎怎么选

MySQL 是一个常见的开源免费多引擎的关系型数据库,各种适配器齐全,我们很容易就可以在项目中使用它。常见存储引擎有 InnoDB,MyISAM,MRG_MYISAM,BLACKHOLE ,MEMORY,PERFORMANCE_SCHEMA,ARCHIVE,CSV,,FEDERATED 等。

在 MySQL 5.5 版本之前中默认是 MyISAM 引擎,但到了 5.5+ 版本就默认使用 InnoDB 引擎,支持的引擎如下:

MySQL 5.5.62:

MySQL 5.6.24:

MySQL 5.7.27:

MySQL 8.0.17:

首先,就是要对这些存储引擎有一定的了解,才能在实际使用过程中针对性的选择最佳的引擎方案,最常用的引擎就是 InnoDB 和 MyISAM 两种,我们可以从是否支持行级锁,是否支持事务、是否支持外键,是否支持 MVCC,是否支持安全恢复、性能等角度去对比并结合项目的实际需求,选择最合适的存储方案。

InnoDB 支持原子性、一致性、隔离性、持久性的事务处理特性、同时支持外键,支持行级锁(row-level locking)和表级锁(table-level locking),默认是行级锁。而 MyISAM 只支持表级锁,不支持事务和外键。
MyISAM 查询性能比较好,提供全文索引、压缩、空间函数等,但是InnoDB 提供事务支持事务,外部键等高级数据库功能。 具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)的事务安全(transaction-safe (ACID compliant))型表。

仅 InnoDB 支持 MVCC。应对高并发事务, MVCC 比单纯的加锁更高效; MVCC 只在 READ COMMITIED 和 REPERATABLE READ 两个隔离级别下工作,MVCC 可以使用 乐观(optimistic)锁和悲观(pessimistic)锁来实现,各数据库中MVCC实现并不统一。

在了解 MySQL 各类存储引擎的特点后,我相信你在选择何种方案应该就很好决定了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值