0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

有哪些不同的MySQL数据库引擎?

深圳市恒讯科技有限公司 来源:深圳市恒讯科技有限公司 作者:深圳市恒讯科技有 2023-04-03 16:38 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

数据库引擎是MySQL组件,可以处理SQL操作,例如从数据库创建、读取和更新数据。MySQL中有两种类型的引擎:事务性和非事务性。

1、事务型数据库:在这种类型中,如果数据库不完整,我们可以回滚对数据库的写入操作。这些操作称为事务。主要是,现代引擎是事务性的。

2、非事务数据库:与事务数据库不同,它们不提供回滚/提交。相反,我们需要手动编写代码来执行回滚操作。

在本文中,我们将了解InnoDB、MyISAM、MEMORY、MERGE、CSV和SEQUENCE引擎及其特性,以及它们的优缺点。

一、InnoDB:InnoDB是DBMS MySQL和MariaDB的存储引擎。它是MySQL 5.5及更高版本的默认存储引擎。它取代了MyISAM作为默认引擎。

特征:

1、它提供标准的符合ACID的事务功能,以及外键支持。Oracle建议将InnoDB用于表。

2、它支持多版本并发控制、崩溃恢复和回滚操作。由于行级锁定,多用户性能成为可能。

3、它也用于MariaDB服务器。为了维护数据的完整性和安全性,InnoDB支持外键约束。

4、InnoDB支持缓存数据和索引的缓冲区。

5、它提供了一种表锁定方法,这意味着一次只有一个用户可以更改表。

优点:

1、支持ACID(原子性、一致性、隔离性和持久性)属性以保护用户数据。

2、通过Oracle风格的高性能和一致读取访问多个用户。

3、支持使用有助于一致更新、插入和删除操作的外键。此外,它有助于维护数据库表内容的完整性。

缺点:

1、不支持全文搜索。

2、如果性能是优先考虑的,那么它就不会被使用,因为它比MyISAM 慢。

3、外键关系的使用使其使用起来很复杂。

二、MyISAM:是MySQL DBMS 5.5之前版本的默认引擎。MyISAM是一个高速存储和检索的存储引擎。它不支持交易。它很容易在系统之间复制,并且数据占用空间小。主要用于Web和数据仓库。

特征:

1、MyISAM存储在3个文件中:.frm–存储表格式,.MYD–数据文件,.MYI–索引文件。

2、它支持三种存储格式:固定、动态和压缩。

3、最大密钥长度为1000字节。

4、每个表的最大索引数和每个索引的列数分别为64和16。

优点:

1、MyISAM比其他引擎更简单。

2、它比任何其他通用数据库引擎都快,它还提供全文搜索

缺点:

1、它很容易导致表损坏。但是,我们可以使用REPAIR TABLE查询来恢复它。

2、它不支持外键约束或事务。

三、CSV:用于在文本文件中存储CSV格式。它总是被编译到MySQL 服务器中。它重量轻,可以很容易地导入到电子表格程序中。

特征:

1、CSV表使用CSV格式。因此,它可用于数据交换,例如,使用电子表格。

2、即使MySQL服务器已关闭,也可以使用标准文件编辑器编辑数据

3、MySQL服务器海量数据的瞬时加载。

优点:

1、在创建CSV文件后,将创建图元文件来存储表的状态和表中存在的行数。

2、数据使用通用分隔值格式存储在文本文件中。

缺点:

1、CSV引擎不支持索引。

2、它不支持分区。

3、它必须在所有列上都具有NOT NULL属性。

四、MERGE:使用MERGE引擎创建的表用于轻松处理大量数据。它是一组相同的MyISAM表,可以作为一个表使用。因此,它也被称为 MRG_MyISAM引擎,它适用于数据仓库环境。

特征:

1、它是在MySQL 3.23.25 版本中引入的。

2、UNION 和INSERT_METHOD是MERGE表的两个独特功能。

3、MERGE表没有PRIMARY KEY或UNIQUE索引,因为它们不能对所有表强制执行唯一性。

优点:

1、它是一组相同的MyISAM表,可以用作一个表。记忆因此得以保存。

2、它可以对单个表执行最有效的修复,而不是修复通过合并这些单个表而形成的单个大表。

3、与MyISAM表不同,合并表不受操作系统文件大小的限制。

缺点:

1、只有相同的MyISAM表才能用于合并。

2、如果MERGE表是非临时的,则合并表必须是非临时的。如果 MERGE表是临时的,MyISAM表可以是临时表和非临时表的混合。

3、某些MyISAM功能在MERGE表中不可用。

五、MEMORY:它被认为是通常用于在内存中创建临时表(也称为 HEAP)的最快引擎。因此,当数据库重新启动时,数据会丢失。它是非事务性的。它对于快速查找参考资料和其他识别数据很有用。它将所有数据存储在RAM中以便更快地访问,而不是将数据存储在磁盘中。它广泛用于表中数据的只读缓存或临时使用。

特征:

1、它不会在磁盘上创建任何文件。

2、MEMORY表不能包含BLOB或TEXT列。

3、支持AUTO_INCREMENT列。

4、VARCHAR使用固定长度存储,即它使用固定长度的行存储格式。

优点:

1、数据被加密,通过加密功能在服务器中实现。

2、支持B树索引。

3、为客户端之间的低争用提供低级锁定和多线程操作。

缺点:

1、MEMORY表不能分区。

2、如果从MEMORY表中删除单个行,则无法回收内存。

六、SEQUENCE:它是用于创建具有给定初始值、结束值和增量值的正整数的升序或降序序列的事务引擎。它是只读的并且支持XA。

特征:

与 MEMORY 数据库引擎一样,它不会在磁盘上创建任何文件。

它会在我们需要时自动创建虚拟表。无法显式创建 SEQUENCE 表。

该引擎对连接和子查询很有用。

优点:

1、SEQUENCE引擎未绑定到表。因此,我们也可以将它们用于任何其他目的。

2表格实施的灵活性。

缺点:

1、AUTO_INCREMENT 功能需要额外编程,默认情况下在引擎中不可用。

2、多个并行会话处于活动状态时出现并发问题。

以上是MySQL数据库引擎不同类型的介绍,希望能帮助到大家参考!

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SQL
    SQL
    +关注

    关注

    1

    文章

    807

    浏览量

    46934
  • 数据库
    +关注

    关注

    7

    文章

    4083

    浏览量

    68538
  • MySQL
    +关注

    关注

    1

    文章

    931

    浏览量

    29748
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MySQL数据库慢查询分析与优化实战

    在讨论MySQL慢查询之前,需要先明确一个关键前提:什么是慢查询? 不同业务场景下,慢查询的定义差异巨大。一个数据报表后台的SQL执行30秒可能属于正常范围,但一个订单创建的数据库操作超过100毫秒就可能造成用户体验问题。因此,
    的头像 发表于 04-02 09:38 170次阅读

    恒讯科技解析:如何安装MySQL并创建数据库

    安装和管理MySQL不必复杂。只需几分钟,你就能在Linux服务器上搭建MySQL,创建第一个数据库,甚至自动化备份——同时确保数据安全有序。 什么是
    的头像 发表于 01-14 14:25 358次阅读

    工业数据中台支持接入MySQL数据库

    工业数据中台完全支持接入MySQL数据库 ,且通过数据同步、集成与治理等技术手段,能够充分发挥MySQL
    的头像 发表于 12-04 11:23 507次阅读
    工业<b class='flag-5'>数据</b>中台支持接入<b class='flag-5'>MySQL</b><b class='flag-5'>数据库</b>吗

    Mysql数据恢复—Windows Server下MySQL(InnoDB)全表误删数据恢复案例

    本地服务器,操作系统为windows server。服务器上部署mysql单实例,innodb引擎,独立表空间。未进行数据库备份,未开启binlog。 人为误操作使用Delete命令删除数据
    的头像 发表于 09-23 15:56 868次阅读
    <b class='flag-5'>Mysql</b><b class='flag-5'>数据</b>恢复—Windows Server下<b class='flag-5'>MySQL</b>(InnoDB)全表误删<b class='flag-5'>数据</b>恢复案例

    mysql数据恢复—mysql数据库表被truncate的数据恢复案例

    某云ECS网站服务器,linux操作系统,部署了mysql数据库。工作人员在执行数据库版本更新测试时,错误地将本应在测试执行的sql脚本在生产
    的头像 发表于 09-11 09:28 1179次阅读
    <b class='flag-5'>mysql</b><b class='flag-5'>数据</b>恢复—<b class='flag-5'>mysql</b><b class='flag-5'>数据库</b>表被truncate的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—服务器异常断电导致Oracle数据库故障的数据恢复案例

    Oracle数据库故障: 某公司一台服务器上部署Oracle数据库。服务器意外断电导致数据库报错,报错内容为“system01.dbf需要更多的恢复来保持一致性”。该Oracle数据库
    的头像 发表于 07-24 11:12 838次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—服务器异常断电导致Oracle<b class='flag-5'>数据库</b>故障的<b class='flag-5'>数据</b>恢复案例

    MySQL数据备份与恢复策略

    数据是企业的核心资产,MySQL作为主流的关系型数据库管理系统,其数据的安全性和可靠性至关重要。本文将深入探讨MySQL
    的头像 发表于 07-14 11:11 885次阅读

    企业级MySQL数据库管理指南

    在当今数字化时代,MySQL作为全球最受欢迎的开源关系型数据库,承载着企业核心业务数据的存储与处理。作为数据库管理员(DBA),掌握MySQL
    的头像 发表于 07-09 09:50 887次阅读

    远程访问内网MySQL数据库?这个方案更简单

    各位开发者朋友们,是否还在为无法随时随地访问内网MySQL数据库而烦恼?今天分享一个超实用的方法,通过容器部署 MySQL 结合 ZeroNews 内网穿透,让你在任何地方都能安全访问和管理
    的头像 发表于 07-04 18:06 1003次阅读
    远程访问内网<b class='flag-5'>MySQL</b><b class='flag-5'>数据库</b>?这个方案更简单

    数据库数据恢复—MongoDB数据库文件丢失的数据恢复案例

    MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 工作人员在MongoDB服务仍
    的头像 发表于 07-01 11:13 779次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—MongoDB<b class='flag-5'>数据库</b>文件丢失的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—SQL Server数据库被加密如何恢复数据

    SQL Server数据库故障: SQL Server数据库被加密,无法使用。 数据库MDF、LDF、log日志文件名字被篡改。
    的头像 发表于 06-25 13:54 837次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—SQL Server<b class='flag-5'>数据库</b>被加密如何恢复<b class='flag-5'>数据</b>?

    MySQL数据库采集网关是什么?什么功能?

    MySQL数据库采集网关是一种用于连接、采集、处理并传输数据MySQL数据库的中间设备或软件系统,通常部署在
    的头像 发表于 05-26 15:20 815次阅读

    PLC数据中台对接到MySQL数据库并对接到生产看板

    生产任务的先后顺序和时间节点,优化生产资源的配置,确保生产过程的高效运行。 对此,数之能提供PLC数据中台对接到MySQL数据库和生产看板的解决方案,助力企业实现提质增效与智能管控。其中PLC
    的头像 发表于 05-26 11:20 652次阅读
    PLC<b class='flag-5'>数据</b>中台对接到<b class='flag-5'>MySQL</b><b class='flag-5'>数据库</b>并对接到生产看板

    MySQL数据库是什么

    MySQL数据库是一种 开源的关系型数据库管理系统(RDBMS) ,由瑞典MySQL AB公司开发,后被Oracle公司收购。它通过结构化查询语言(SQL)进行
    的头像 发表于 05-23 09:18 1444次阅读

    数据采集到MYSQL和SQLSERVER数据库可以实现哪些功能

    将工业设备数据采集到MySQL和SQLServer数据库后,可实现生产管理、设备运维、决策支持等多维度功能。对此,数之能提供多种工业设备数据采集到
    的头像 发表于 05-07 15:32 684次阅读