Java面试八股之MySQL存储引擎都有哪些

  1. MySQL存储引擎都有哪些

MySQL提供了多种存储引擎,每种引擎都有其独特的特性和用途。以下是一些常用的MySQL存储引擎:

InnoDB

默认存储引擎(自MySQL 5.5版本起)。

支持事务(ACID属性)、行级锁定和外键约束。

使用B+树作为索引结构。

适合需要高并发的事务处理和高可靠性的场景。

MyISAM

MySQL早期的默认存储引擎。

不支持事务,但提供了高速的表和全文索引。

使用表级锁定,适合读取密集型的应用。

已经在新项目中逐渐被InnoDB取代。

MEMORY (HEAP)

将表存储在内存中,提供极快的访问速度。

不持久化数据,重启后数据丢失。

主要用于临时表和高速缓存。

ARCHIVE

专为压缩和存储大量只读数据设计。

支持单列索引,非常适合日志存储。

数据被压缩存储,节省磁盘空间。

CSV

存储数据为逗号分隔的值格式。

没有索引支持,适用于简单的数据导出和导入。

BLACKHOLE

任何写入此引擎的数据都会被丢弃,主要用于复制中继。

FEDERATED

允许在远程服务器上查询数据,相当于在本地表中查询。

需要在配置中启用。

MERGE

合并多个MyISAM表作为一个表使用,便于管理和查询。

PERFORMANCE_SCHEMA

提供了关于服务器运行时状态的信息,用于性能监控和诊断。

NDDB (NDBCluster)

分布式存储引擎,用于高可用性和高并发的环境。

TokuDB

第三方存储引擎,基于Fractal Tree索引,提供更好的压缩和写入性能。

这些存储引擎提供了不同的功能集和性能特征,可以根据具体的应用场景和需求选择最适合的存储引擎。在MySQL中,存储引擎可以在创建表时指定,也可以在服务器级别设定默认引擎。注意,不是所有的存储引擎在所有版本的MySQL中都是可用的,有些引擎可能需要额外安装或在编译MySQL时启用。

 如果大家需要视频版本的讲解,欢迎关注我的B站:

  • 25
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值