关于MySQL特殊储存引擎的介绍

目录

——什么是储存引擎?

——关于表的储存引擎查询和建表语句

---查询建表引擎语句

---查询当前数据库支持的储存引擎

---指定建表的储存引擎

——关于特殊储存引擎的介绍

---INNODB

特点:

关于INNDB的文件:

逻辑储存结构

---MyISAM

特点:

关于MyISAM的文件:

如何查看sdi表结构的数据?

---Memory

特点:

文件:

——总结:关于特殊引擎的选择


——什么是储存引擎?

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

——关于表的储存引擎查询和建表语句

---查询建表引擎语句

show create table account;

---查询当前数据库支持的储存引擎

show engines;

---指定建表的储存引擎

CREATE TABLE 表名(
    字段1,字段1类型[COMMENT 注释]
    ......
) ENGINE = INNODB;
/*这里 INNODB 就是该表的建表语句*/

——关于特殊储存引擎的介绍

---INNODB

INNDO是一种是一种兼顾高可靠性和高性能的通用存储引擎,在MySQL5.5版本之后,InnoDB是默认的MySQL的存储引擎。

特点:

(1)DML操作遵循ACID模型,支持事务

(2)行级锁,提高并发访问性能

(3)支持外键 FOREIGN KEY 约束,保证数据的完整性和正确性

关于INNDB的文件:

xxx.idb:xxx表示表名,InnoDB引擎的每张表都会对应这样一个表空间文件,存储该表的表结构(frm,sdi)、数据和索引。

特殊参数:参数:innodb_file_per_table 代表每一张表都对应一个表空间

可以通过代码指令查看该参数是否被打开:

show VARIABLES  like 'innodb_file_per_table';

可见,我们的相应文件路径下每个数据文件都有独立的空间。那么怎么查看文件的数据结构呢?

直接用cmd打开该文件所在的目录,输入ibd2sdi 想查询的表名.ibd即可。这里我们查询A表

C:\ProgramData\MySQL\MySQL Server 8.0\Data\test>ibd2sdi A.ibd

逻辑储存结构

-TableSpace:表空间 —> -Segment:段 —> -Extent:区(1M,可包含64个page) —> -Page:页(16K)  —>  -Row:行

---MyISAM

MyISAM是MySQL早期的默认存储引擎

特点:

(1)不支持事务,不支持外键

(2)支持表锁,不支持行锁

(3)访问速度快

关于MyISAM的文件:

(1)xxx.sdi 存放表结构信息

(2)xxx.MYD 存放数据

(3)xxx.MYI 存放索引

如何查看sdi表结构的数据?

我们可以直接用记事本打开xxx.sdi文件,但是没有缩进格式。我们可以通过网站:

JSON在线解析及格式化验证 - JSON.cn

传入文件中的代码,他就会进行自动排序,我们就可以轻松查看文件的结构信息了。

---Memory

Memory引擎的数据存放在内存中,受硬件问题,或断电问题的影响,只能将这些表作为临时或缓存表使用

特点:

(1)电脑内存存放(访问速度快)

(2)默认使用hash索引

文件:

xxx.sdi 存储表结构信息

——总结:关于特殊引擎的选择

InnoDB:对事务的完整性有较高的要求,数据查询包括其他很多的操作。(存储核心数据)

MyISAM:读写和插入操作是核心,其他操作相对较少,对事务的 完整性,并发性 要求不高。(存储非核心数据)

Memory:将所有的数据存放到内存中,访问速度快,但当面对停电或设备损坏时,常常会使数据丢失,数据安全性不高。通常用于临时表及缓存。其次,该引擎对表的大小有限制,太大的表无法缓存(数据缓存)

  • 31
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值