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 各类存储引擎的特点后,我相信你在选择何种方案应该就很好决定了

mysql引擎怎么选相关推荐

  1. MySQL · 引擎特性 · InnoDB 事务子系统介绍

    前言 在前面几期关于InnoDB Redo和Undo实现的铺垫后,本节我们从上层的角度来阐述InnoDB的事务子系统是如何实现的,涉及的内容包括:InnoDB的事务相关模块,如何实现MVCC及ACID ...

  2. MySQL · 引擎分析 · InnoDB行锁分析

    前言 理解InnoDB行锁,分析一条SQL语句会加什么样的行锁,会锁住哪些数据范围对业务SQL设计和分析线上死锁问题都会有很大帮助.对于InnoDB的行锁,已经有多篇月报进行了介绍,这里笔者借鉴前面月 ...

  3. MySQL引擎特性GIS-R-TREE

    MySQL引擎特性GIS-R-TREE Geohash用于代表位置的经纬度编码成一个字符串,支持WGS 84 Coordinate System MySQL支持的空间数据类型包括GEOMETRY,PO ...

  4. 深入浅析mysql引擎

    mysql引擎 mysql数据库引擎取决于mysql在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译mysql.在缺省情况下,mysql支持三个引擎:ISAM,MYISAM和HEAP.另 ...

  5. 添加mysql引擎错误

    在添加mysql引擎时,可能出现如下错误: Can't open shared library '/usr/local/mysql/lib/mysql/plugin/ha_innodb.so' (er ...

  6. MySQL · 引擎特性 · InnoDB 崩溃恢复过程

    在前面两期月报中,我们详细介绍了 InnoDB redo log 和 undo log 的相关知识,本文将介绍 InnoDB 在崩溃恢复时的主要流程. 本文代码分析基于 MySQL 5.7.7-RC ...

  7. 15_clickhouse,MySQL引擎;MySQL和ClickHouse中数据类型的对应关系

    20.MySQL引擎 20.1.MySQL引擎 20.2.MySQL和ClickHouse中数据类型的对应关系 20.3.示例 20.MySQL引擎 20.1.MySQL引擎 MySQL引擎可实现对M ...

  8. 【clickhouse】Clickhouse的MySQL引擎同步数据不准确 Decimal

    文章目录 1.概述 2. 场景2 2.1 概述 1.概述 我想从MySQL同步数据到Clickhouse,但是发现Clickhouse的MySQL引擎同步数据不准确,精度丢失而且还是不对的.(很多数据 ...

  9. MySql引擎、索引

    目录 一.MySql架构 1.连接层 2.服务层 3.引擎层 4.物理文件存储 二.Mysql引擎 1.引擎是什么? 2.mysql中MyiSam引擎和Innodb引擎的区别? 3.mysql中常见的 ...

最新文章

  1. python staticmethod and classmethod方法
  2. python数据分析pandas_Python数据分析之pandas学习(基础操作)
  3. ZOJ 1048|POJ 1004|HDU1064 Financial Management
  4. nodejs匿名函数
  5. 申请评分卡(A卡)的开发过程(1)
  6. sdram trp_TRP的完整形式是什么?
  7. 技术员联盟win11旗舰版64位系统v2021.07
  8. Java程序员的日常—— 垃圾回收中引用类型的作用
  9. 动态规划 - 最长递增子序列LIS
  10. 天勤数据结构代码——排序
  11. 剧情插件Cutscene Creator uSequencer 1.3.7.1使用说明二
  12. windows10 下 Haskell 环境搭建2020
  13. 基于低代码平台实现的政务督办管理系统有哪些特色功能?
  14. 黑客攻防技术宝典Web实战篇(第二版)_读书笔记(第一章~第三章)
  15. C语言startup()函数,WSAStartup()函数以及DLL的加载
  16. Linux系统配置文件 /etc/sysconfig详解
  17. 金融危机的影响(ISAS课题)
  18. android换苹果,苹果换手机怎么转移数据?苹果、安卓都可以一键转移数据
  19. python 3d打印_基于Python的结构拓扑优化与3D打印试验研究
  20. 查看MDB格式文件数据表

热门文章

  1. android自动连接到指定wifi
  2. 【推导】线性变换与在基下的矩阵一一对应
  3. rand和srand的用法(转载)
  4. 大数据营销更需要消费者洞察
  5. C++函数重载(6) - main函数重载
  6. php yii2框架仿站教程,从零开始学YII2框架(六)高级应用程序模板,yii2框架
  7. 自动提取论文公式方法
  8. 路由器温度测试软件,【美国网件 R8500 无线路由器产品测试】信号|速度|温度_摘要频道_什么值得买...
  9. 中国数字银行春季论坛热议高质量发展 金融科技破解资产负债管理难题
  10. VBA多条件选择及自动填表及计算汇报