MySql数据库引擎

数据库引擎是数据库用于存储、处理和保护数据的核心服务,不同的数据库引擎有其各自的特点,如存储机制、索引技巧、主键的处理、锁的粒度等特点便随着引擎的不同而变化。因此,针对自己项目特点选择合适的数据库引擎可以改善服务器端存储性能。

MySQL Server使用可插拔的存储引擎体系结构,该体系结构使存储引擎可以加载到正在运行的MySQL服务器或从正在运行的MySQL服务器上卸载。
使用命令查看数据库引擎:

 mysql> show engines

在这里插入图片描述
可以看出InnoDB是mysql的默认数据库引擎。并且支持事务,行锁和外键。

常见的MySQL数据库引擎有以下几个:InnoDB,MyIsam,Memory,Mrg_Myisam,Blackhole。

InnoDB的主要优势
  • 它的DML操作遵循 ACID模型,并 具有具有 提交,回滚和 崩溃恢复 功能的事务, 以保护用户数据
  • 行级锁定和Oracle风格的一致读取可提高多用户并发性和性能
  • InnoDB表格将您的数据排列在磁盘上以基于主键优化查询 。每个 InnoDB表都有一个称为聚集索引的主键索引,该索引 组织数据以最小化主键查找的I / O
  • 维护数据 完整性, InnoDB支持 FOREIGN KEY约束。使用外键检查插入,更新和删除操作,以确保它们不会导致不同表之间的不一致

InnoDB存储引擎功能
在这里插入图片描述
MyISAM:这些表占用的空间很小。 表级锁定 限制了读/写工作负载中的性能,因此表锁通常用于Web和数据仓库配置中的只读或主要工作负载中。

Memory:将所有数据存储在RAM中,以便在需要快速查找非关键数据的环境中进行快速访问。该引擎以前称为HEAP引擎。它的用例正在减少;InnoDB借助其缓冲池内存区域,它提供了一种通用且持久的方式来将大多数或所有数据保留在内存中,并 NDBCLUSTER为大型分布式数据集提供了快速的键值查找。

CSV:其表实际上是带有逗号分隔值的文本文件。CSV表使您可以导入或转储CSV格式的数据,以便与读取和写入相同格式的脚本和应用程序交换数据。由于CSV表未建立索引,因此通常InnoDB在正常操作期间将数据保留在表中,并且仅在导入或导出阶段使用CSV表。

Archive:这些紧凑的,未索引的表旨在用于存储和检索大量很少参考的历史,存档或安全审核信息。

Blackhole:Blackhole存储引擎可以接受但不存储数据,类似于Unix/dev/null设备。查询总是返回一个空集。这些表可用于将DML语句发送到副本的复制配置中,但源服务器不保留其自己的数据副本。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值