MySQL本地数据库的存储引擎有哪些

哈,上周有客户询问MySQL存储引擎。
我向他详细解释说我有一些经验。

首先,InnoDB是MySQL的默认存储引擎。
是事务处理;支持行级锁和外键约束;这在高货币环境中特别有用,可以确保数据一致性。
我以前见过电子商务项目。
最初使用MyISAM。
但是,在同币促销期间;由于表级锁,订单处理失败。
后来被InnoDB取代。

那么MyISAM不支持事务,只使用表级锁,所以写入读写操作会锁定整个表,但是只读操作速度很快。
该存储引擎的磁盘空间较小;主要是只读的,适合不需要事务的情况,比如日志系统。

内存(HEAP)是一种在内存中存储数据的引擎,读写速度非常快。
但缺点是重启服务器后数据会丢失,并且不支持TEXT和BLOB类型。
就像实时排行榜一样临时数据存储;适合会话管理或中间结果存储。

归档引擎,专门用于存储归档信息。
压缩比高,但读写性能低。
它只支持插入和查询,不支持索引。
查询效率取决于压缩算法。
适用于需要长期保存但访问频率较低的数据,如历史记录、审计记录等。

在选择存储引擎时,是否需要过多的读取或过多的写入,取决于你的应用需求,比如事务性和相关的需求,比如特殊情况下的需求。
InnoDB适用于事务和并发要求较高的情况,而MyISAM适用于无事务要求的读密集型情况。
内存和存档各有其各自的用途。

最后,决策流程如下:首先明确应用需求,参考官方文档对比引擎特性,通过测试验证性能。
没有绝对最好的引擎;选择必须根据经济条件进行测试。

无论如何,这取决于你。
每个系统的情况不同,需要根据实际情况来决定。

mysql有哪些常见的存储引擎

InnoDB:ACID事务、行级锁、外键、热备份、簇表结构、缓冲池、哈希索引、高并发写入。
MyISAM:表级锁、全表扫描、数据紧凑、恢复能力弱、只读。
内存:内存存储,访问速度快,无事务和外键,表级锁,固定行长,不支持text/BLOB,重启时数据丢失。

这是一个陷阱:过度依赖MyISAM的对等性能。
不信:内存表的大小是可以随意设置的。
不要:频繁写入 MyISAM 表。

Mysql数据库存储引擎有哪些?

MyISAM:读多,写少,读高速,不关心事务。
InnoDB:事务、高并发、ACID、行级锁。
内存:查询速度非常快,数据在内存中,重启后就会丢失。
Merge:一个非常大的表,它是多个MyISAM表的集合。
不要以为一款电机就能适应所有场景,您需要根据自己的需求来选择电机。