mysql-存储引擎

一、存储引擎

简介:存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的而不是基于库的,所以存储引擎也可以被称为表类型。

二 、InnoDB

InnoDB是一种兼顾可靠性和高性能的通用存储引擎,在5.5之后是默认的MySQL存储引擎

特点:

  • DML操作遵循ACID模型,支持事务
  • 行级锁,提高并发访问性能
  • 支持外键约束,保证数据的完整性和正确性

文件:

  • xxx.ibd :xxx代表表名,innoDB引擎的每张表都会对应这样一个表空间文件
  • 存储该表的表结构(sdi)、数据和索引
  • 参数:innodb_file_per_table(查看是否开启的命令:show variables like 'innodb_file_per_table')

  • ibd2sdi account.ibd命令查看文件(二进制)

三、MyISM

MySQL早期的默认存储引擎。

特点:

  • 不支持事务,不支持外键
  • 支持表锁,不支持行锁
  • 访问速度快

文件:

  • xxx.sdi:存储表结构信息
  • xxx.MYD:存储数据
  • xxx.MYI:存储索引

四、Memory

Memory引擎的表数据是存储在内存中的,由于收到硬件影响、或 断电的问题,只能将这些表作为临时表或缓存使用。

特点:

  • 内存存放
  • hash索引(默认)

文件:

  • xxx.sdi:存储表结构信息 

五、区别

六、存储引擎选择

没有好坏之分,根据场景选择一个或多个存储引擎组合使用

大多数情况只会使用InnoDB,另外两个一般被 MongoDB和Redis取代

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值