mysql存储引擎性能比较

2023-11-01

前言

今天看到有人面滴滴被问到知不知道mysql的引擎然后说不会被直接告知面试结束,然后想想自己mysql引擎也只是知道那么一两个还说不全。就想说在这里做个总结。

。。。。。凌晨三点半了。

在数据库中存的就是一张张有着千丝万缕关系的表,所以表设计的好坏,将直接影响着整个数据库。而在设计表的时候,我们都会关注一个问题,使用什么存储引擎。

什么是存储引擎?

关系数据库表是用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,类似于Excel的电子表格的形式。有的表简单,有的表复杂,有的表根本不用来存储任何长期的数据,有的表读取时非常快,但是插入数据时去很差;而我们在实际开发过程中,就可能需要各种各样的表,不同的表,就意味着存储不同类型的数据,数据的处理上也会存在着差异,那么。对于MySQL来说,它提供了很多种类型的存储引擎,我们可以根据对数据处理的需求,选择不同的存储引擎,从而最大限度的利用MySQL强大的功能。


MYSQL存储引擎:

MyISAM: 拥有较高的插入,查询速度,但不支持事务
InnoDB :5.5版本后Mysql的默认数据库,事务型数据库的首选引擎,支持ACID事务,支持行级锁定
BDB: 源自Berkeley DB,事务型数据库的另一种选择,支持COMMIT和ROLLBACK等其他事务特性
Memory :所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失
Merge :将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用
Archive :非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差
Federated: 将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用
Cluster/NDB :高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用
CSV: 逻辑上由逗号分割数据的存储引擎。它会在数据库子目录里为每个数据表创建一个.CSV文件。这是一种普通文本文件,每个数据行占用一个文本行。CSV存储引擎不支持索引。
BlackHole :黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继。

在mysql客户端中,使用以下命令可以查看MySQL支持的引擎。

<span style="font-family:SimSu
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql存储引擎性能比较 的相关文章

随机推荐

  • 如何实现审核功能

    如何实现审核功能 开发工具与关键技术 VS C 作者 撰写时间 2019 7 26 如何实现审核的功能呢 首先是实现弹出审核模态框和重置表单 再通过ID获取要审核的数据和使用post获取到通过ID查询的数据 用loadDatatoForm回
  • IEqualityComparer VS System.IEquatable

    类似于IComparer
  • vuejs 原生JS 拖拽事件案例

    原生JS or Vue 事件案例合集 详细 提示 这里可以添加系列文章的所有文章的目录 目录需要自己手动添加 Section 1 单个或多个鼠标拖拽事件的理解 提示 写完文章后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 原生
  • SpringMVC的@InitBinder的作用

    一 前言 在SpringMVC中 InitBinder注解用于自定义数据绑定的方法 在使用表单提交数据时 SpringMVC会将请求参数绑定到Java对象中 但是 有些时候请求参数的数据格式可能与Java对象的属性格式不一致 这时就需要使用
  • 初露头角!Walrus入选服贸会“数智影响力”数字化转型创新案例

    9月5日 由北京市通信管理局 工业和信息化部新闻宣传中心联合主办的 企业数字化转型论坛 在2023中国国际服务贸易交易会期间召开 论坛以 数字化引领 高质量发展 主题 旨在探讨信息技术如何与各行业深度融合 构建数字化转型新格局 赋能产业高质
  • 【转载】如何使用VSCode编译IAR

    参考原址 https blog csdn net lczdk article details 114639094 总结 安装IAR For Visual Studio Code插件 使用VSCode打开IAR prj 当前发现最方便的方法是
  • JVM第三讲 JVM从底层原理分析类加载过程

    类加载运行全过程 其中loadClass的类加载过程有如下几步 加载 gt gt 验证 gt gt 准备 gt gt 解析 gt gt 初始化 gt gt 使用 gt gt 卸载 加载 在硬盘上查找并通过IO读入字节码文件 使用到类时才会加
  • # Maven系列 - 覆盖父级pom文件某jar包版本

    Maven系列 覆盖父级pom文件某jar包版本 一般公司都会有统一的父级pom文件 指定一些通用的jar版本 比如fastjson 假如出现漏洞 最近fastjson就出现了漏洞 需要升级fastjson包 具体有哪些方式呢 具体方式 1
  • Centos7:yum安装MySQL5.7后如何设置root密码

    Centos下安装软件的方式很简单 只需要通过yum install xxx命令即可 第一步当然检查是否有mysql的yum源 命令 yum list grep mysql community 主要还是安装开源的社区版 如果没有如图所示的和
  • Subgraph Retrieval Enhanced Model for Multi-hop Knowledge Base Question Answering

    本文是LLM系列的文章 针对 Subgraph Retrieval Enhanced Model for Multi hop Knowledge Base Question Answering 的翻译 用于多跳知识库问答的子图检索增强模型
  • 共享内存在每个进程里的映射地址是不同的

    共享内存可以说是最有用的进程间通信方式 也是最快的IPC形式 两个不同进程A B共享内存的意思是 同一块物理内存被映射到进程A B各自的进程地址空间 进程A可以即时看到进程B对共享内存中数据的更新 反之亦然 由于多个进程共享同一块内存区域
  • Q格式代码配置

    最近准备自己搞实现一遍电机的foc代码 Q格式 TI的dsp的IQmath学习 自己实现的基本的Q格式的配置 brief Q format Conversion date 2020 11 7 author wangchongwei Q fo
  • python环境与模块日常:Anaconda搭配SublimeText3配置环境,安装Anaconda插件自动补全,conda、pip基础指令与镜像代理

    最近重装SublimeText3和Anaconda 然后安装了pyquery包 跑代码 from pyquery import PyQuery as pq 在cmd gt python Anaconda Prompt gt python A
  • Java开发案例:使用JDBC技术来实现QQ登录

    在实际开发中 用户信息是存放在数据库中的 登录时的账号和密码信息也需要去数据库中查询 本节将使用JDBC技术来完善QQ登录案例 1 创建数据表 并添加用户数据 在jdbc数据库中创建数据表tb qquser 并在表中插入3条数据 其执行的S
  • git 的 Debug分支

    Debug分支 在项目的正常开发过程中 之前发布过的版本可能很会出bug 这时就需要停下来现在的开发任务 先去修改bug 完成后再回来继续开发任务 git中stash提供了保存现场的功能 可以把当前工作区 暂存区中的内容不需要提交而保存下来
  • 上架发布应用市场资料准备iOS和Androd

    一 应用市场 App Store 网站 https itunesconnect apple com login 帐号 密码 360手机助手 网站 http open app 360 cn 帐号 密码 安智市场 网站 http dev anz
  • Linux中的叹号命令

    http blog sina com cn s blog 531bb76301013ulf html 整天在shell环境下操作 不积累点快捷输入的小技巧是不行的 最常用的技巧恐怕就是Tab自动补全以及上方向键来回退上几条历史命令了 这些对
  • linux默认系统进程

    http blog chinaunix net uid 7553302 id 64864 html linux启动后 默认有以下系统进程 Init 1 Linux的第一个进程 也是其它所有进程的父进程 events 0 5 处理内核事件守护
  • Python生成器推导式创建元组

    从形式上看 生成器推导式与列表推导式类似 只是生成器推导式使用小括号 列表推 导式直接生成列表对象 生成器推导式生成的不是列表也不是元组 而是一个生成器对象 我们可以通过生成器对象 转化成列表或者元组 也可以使用生成器对象的 next 方法
  • mysql存储引擎性能比较

    前言 今天看到有人面滴滴被问到知不知道mysql的引擎然后说不会被直接告知面试结束 然后想想自己mysql引擎也只是知道那么一两个还说不全 就想说在这里做个总结 凌晨三点半了 在数据库中存的就是一张张有着千丝万缕关系的表 所以表设计的好坏