使用存储引擎的优点:每个存储引擎都有各自的特点,可以根据具体应用建立不同存储引擎表

各种存储引擎的区别

InnoDB存储引擎

InnoDB存储尹支持事务
设计目标:面向在线事务处理(OLTP)的应用
InnoDB通过多版本并发控制(MVCC)获得高并发性,实现了SQL标准的4中隔离级别,默认为REPEATABLE级别
使用next-key locking的策略避免幻读
提供的高性能高可用的功能:插入缓存、二次写、自适应哈希索引、预读等
InnoDB采用聚集的方式,每张表的存储都是按主键的顺序进行存放,如果没有显示的在表定义时指定主键,InnoDB存储引擎会为每一行生成一个6字节的ROWID,并以此为主键

MyISAM存储引擎

MyISAM存储引擎不支持事务、表锁设计,支持全文索引
面向目标:OLAP数据库应用
MyISAM是MySQL5.5.8版本之前默认的存储引擎(不包括windows版本)

MyISAM组成:MYD和MYI
MYD:用来存放数据文件
MYI:用来存放索引文件

MySQL5.0版本之前,MyISAM默认支持表大小为4GB,如果要大于4GB需要制定MAX_ROWS和AVG_ROW_LENGTH属性,从MySQL5.0版本开始MyISAM默认支持256TB的单表数据

NDB存储引擎

NDB存储引擎是一个集群存储引擎,结构是share nothing的集群架构,能提供更高的可用性
数据库架构设计三种模式:share nothing,share everythong,share disk
参考链接:https://www.cnblogs.com/kzwrcom/p/6397709.html
Shared Everthting:针对单个主机,完全透明共享CPU/MEMORY/IO,并行能力最差,代表:SQL Server
Shared Disk:各个处理单元使用自己的私有 CPU和Memory,共享磁盘系统。典型的代表Oracle Rac, 它是数据共享,可通过增加节点来提高并行处理的能力,扩展能力较好。其类似于SMP(对称多处理)模式,但是当存储器接口达到饱和的时候,增加节点并不能获得更高的性能 。
Shared nothing架构(shared nothing architecture)是一 种分布式计算架构。这种架构中的每一个节点( node)都是独立、自给的,而且整个系统中没有单点竞争。
share nothing架构原理:https://www.jianshu.com/p/403df7516bdc
NDB的缺点:
NDB存储引擎的链接操作(JOIN)是在MySQL数据库层完成的,而不是在存储引擎层完成的,意味着复杂连接操作需要巨大的网络开销,因此查询速度很慢

Memory存储引擎

Memory存储引擎将表中的数据存放在内存中,如果数据库重启或发生崩溃,表中的数据将丢失
适合用于存储临时数据的临时表以及数据仓库中的纬度表。
Memory默认使用Hash索引
优点:因为数据都存放在内存中,所以速度快
缺点:只支持表锁,并发性能差,不支持TEXT和BLOB类型
存储变长字段(varchar)是按照定长字段(char)的方式进行的,会浪费内存

Archive存储引擎

设计目标:提供高速的插入和压缩功能
Archive存储引擎只支持INSERT操作和SELECT操作,从MySQL5.1开始支持索引、
Archive存储引擎使用zlib算法将数据库进行压缩后存储,压缩比可达1:10
Archive存储引擎适合存储归档数据,如日志信息
Archive存储引擎使用行锁实现高并发的插入操作,但本身并不是事务安全的存储引擎

Federated存储引擎

Federated存储引擎表并不存放数据,它是指向一台远程MySQL数据库服务器上的表,当前只支持MySQL数据库表。

Maria存储引擎

设计目标:取代原有的MyISAM存储引擎,从而成为MySQL的默认存储引擎,可以看做是MyISAM的后续版本
特点:支持缓存数据和索引文件,应用了行锁设计,提供MVCC功能,支持事务和非事务安全的选项,及更好的BLOB字符类型处理性能

关于存储引擎的几个问题

【mysql】存储引擎之间的区别相关推荐

  1. MySQL存储引擎介绍及区别

    在缺省情况下,MySQL支持3种存储引擎:ISAM.MYISAM和HEAP.另外两种存储引擎InnoDB和Berkerly(BDB)也常常使用到. 一.ISAM ISAM执行读取操作的速度很快,而且不 ...

  2. mysql五大引擎之间的区别和优劣之分

    MySQL常用的四种引擎的介绍 (1):MyISAM存储引擎:不支持事务.也不支持外键,优势是访问速度快,对事务完整性没有 要求或者以select,insert为主的应用基本上可以用这个引擎来创建表 ...

  3. MySql存储引擎的种类和区别

    一. Mysql的体系结构概览 整个MySQL Server由以下组成 Connection Pool : 连接池组件 Management Services & Utilities : 管理 ...

  4. mysql 储存引擎_详解mysql存储引擎的标准

    浅谈选择mysql存储引擎的标准 主要存储引擎的介绍 1.InnoDB存储引擎 InnoDB是MySQL的默认事务型引擎,它被设计用来处理大量的短期(short-lived)事务.除非有非常特别的原因 ...

  5. MySQL高级-MySQL存储引擎

    MySQL存储引擎 1.MySQL体系结构 2. 存储引擎 2.1 存储引擎概述 2.2 各种存储引擎特性 2.2.1 InnoDB 2.2.2 MyISAM 2.2.3 MEMORY 2.2.4 M ...

  6. mysql外键的存储引擎_10.mysql存储引擎

    2.1 存储引擎概述 和大多数的数据库不同, MySQL中有一个存储引擎的概念, 针对不同的存储需求可以选择最优的存储引擎. 存储引擎就是存储数据,建立索引,更新查询数据等等技术的实现方式 .存储引擎 ...

  7. 2、mysql存储引擎

    目录 1.数据库存储引擎 2.mysql存储引擎 3.InnoDB存储引擎 4.MyISAM存储引擎 5.MERGE存储引擎 6.MEMORY存储引擎 7.ARCHIVE存储引擎 8.CSV存储引擎 ...

  8. Mysql存储引擎详解(MyISAM与InnoDB的区别)

    Mysql存储引擎详解(MyISAM与InnoDB的区别) 存储引擎     MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平 ...

  9. mysql存储引擎中INNODB和MyISAM的区别

    切记:存储引擎是基于表的,而不是数据库. 存储引擎概念: MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不 ...

最新文章

  1. mysql使用常量列_MySQL 执行计划
  2. 为什么我们要做2021.NET中国开发者调研
  3. leetcode 二叉树的层次遍历 II(Binary Tree Level Order Traversal II)
  4. 山东CIO智库会员参观徐工信息公司
  5. git使用笔记(二)分支与合并
  6. linux scp后台运行的办法
  7. web前端效率提升之浏览器与本地文件的映射-遁地龙卷风
  8. 手机 机器人 谢超_大咖云集 长三角智造峰会演讲嘉宾名单曝光
  9. WordPress社交网络菜单图标更改——SVG图标
  10. 计算机通信子网的作用,通信子网
  11. 企业微信机器人读取服务器,用企业微信机器人搞事情
  12. segmentation_models.pytorch实战:使用segmentation_models.pytorch图像分割框架实现对人物的抠图
  13. 生活中的“人工智能”,哪些是你正在用的?
  14. python图像算法工程师_图像算法工程师的岗位职责
  15. cie1931 python绘制_科学网—gnuplot与CIE1931 XYZ三刺激值曲线 - 范学良的博文
  16. 抖音高贵气质的签名_这些抖音直播注意事项,不注意很可能被封号!
  17. 74HC595 芯片详细介绍
  18. Jitpack使用指南:maven-publish如虎,jitpack如翼 【安卓Java组件化模块化】【更多gradle技巧】
  19. Joth the Ripper
  20. JeeSite框架学习------主子表创建总结

热门文章

  1. 智能合约Call注入漏洞
  2. Modbus通信工具学习记录
  3. SpringCloud+SpringBoot+OAuth2+Spring Security+Redis实现的微服务统一认证授权
  4. flash php,flash游戏+php+mysql应用
  5. Core Dump 程序故障分析
  6. eureka注册中心发现服务,调用依然出现java.lang.IllegalStateException: No instances available for XXX
  7. 【网安保研夏令营经验贴】2023年北京理工大学网安夏令营
  8. 真正知道绿色软件的涵义
  9. 多vlan实现互访,使用NAT、DHCP、ACL等技术实现公司组网
  10. C语言用栈实现迷宫求解