IT评测·应用市场-qidao123.com技术社区
标题:
存储引擎
[打印本页]
作者:
农妇山泉一亩田
时间:
2022-10-27 04:43
标题:
存储引擎
表在数据库中的存储方式。
存储引擎只存在mysql中,(Oracle中有对应机制,但是不叫存储引擎)。
完整的建表语句:
CREATE TABLE mytable(
id INT(10) PRIMARY KEY,
username VARCHAR(30) NOT NULL,
PASSWORD VARCHAR(30)
)ENGINE = InnoDB Default CAHRSET=UTF8;
复制代码
注意:在MYSQL当中,凡是标识符可以使用飘号括起来,最好别用,不通用!
建表的时候可以指定存储引擎,也可以指定字符集。
mysql默认的存储引擎是InnoDB的方式!默认采用的字符集是UFT-8
mysql> show engines \G #查看当前,mysql版本支持的存储引擎命令! 当前MYSQL版本是5.7.33,支持9种存储引擎!
复制代码
1.常见的存储引擎:
MyISAM 存储索引
InnoDB 存储索引
MEMORY 存储索引
2.MyISAM 存储引擎:
MyISAM:这种存储引擎不支持事务。是最常用的但不是默认的
Engine: MyISAM
Support: YES
Comment: MyISAM storage engine
Transactions: NO #不支持事务!
XA: NO
Savepoints: NO
复制代码
它管理的表具有以下特征:
使用三个文件表示每个表 :
格式文件 — 存储表的结构(mytable.frm)
数据文件 — 存储表的数据(mytable.MYD)
索引文件 — 存储表中索引的文件(mytable.MYI)
优点:可被转换为压缩,来节省空间,并且可以转换为只读表,提高检索效率!
缺点:不支持事务!
3.InnoDB 存储引擎:
支持事务,行级锁,外键等 ;这种存储引擎安全。
Engine: InnoDB
Support: DEFAULT
Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
XA: YES
Savepoints: YES
复制代码
表的结构存储在xxx.frm文件当中
数据存储在tablespace这样的表空间当中(逻辑概念),无法被压缩,无法被转换为只读!
这种InnoDB存储引擎在MYSQL数据库崩溃之后提供自动恢复机制!【事务、安全、重量级】
支持级联删除和级联更新。
4.MEMORY 存储引擎:
所有数据保存在内存中,断电即失,但是查询速度超级快!
Engine: MEMORY
Support: YES
Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
XA: NO
Savepoints: NO
复制代码
在数据库目录当中,每个表均已.frm格式的文件表示
表数据以及索引被存储在内存当中
表级锁机制
不能包含TEXT(CLOB)或BLOB字段
查询速度快
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/)
Powered by Discuz! X3.4