MySQL存储引擎
2021/9/23 19:45:11
本文主要是介绍MySQL存储引擎,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
存储引擎
什么是存储引擎,有什么用?
- 存储引擎是MySQL中特有的一个术语,其他数据库中没有(Oracle中有,但不叫这个名字)
- 存储引擎实际上是一个表存储/组织数据的方式
- 不同的存储引擎,表存储数据的方式不同
怎么给表添加/指定"存储引擎"呢?
show create table t_student;
可以在建表的时候给表指定存储引擎
CREATE TABLE `t_student` ( `no` int NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `cno` int DEFAULT NULL, PRIMARY KEY (`no`), KEY `cno` (`cno`), CONSTRAINT `t_student_ibfk_1` FOREIGN KEY (`cno`) REFERENCES `t_class` (`classno`) ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
在建表的时候可以在最后小括号")"的右边使用:
- ENGINE来指定存储引擎
- CHARSET来指定这张表的字符编码方式
结论:
mysql默认的存储引擎是:InnoDB
mysql默认的字符编码方式是:utf8
#建表时指定存储引擎,以及字符编码方式 create table t_product( id int, name varchar(255) )engine = InnoDB default charset = utf8; drop table t_product; show tables; show create table t_product;
查看MySQL支持哪些搜索引擎
命令:show engines \G
关于MySQL常用的存储引擎
MyISAM存储引擎
- 他管理的表具有以下特征:
- 使用三个文件表示每个表
- 格式文件 - 存储表结构的定义(mytable.frm)
- 数据文件 - 存储表行上的内容(mytable.MYD)
- 索引文件 - 存储表上索引(mytable.MYI):索引是一本书的目录,缩小扫描范围,提高查询效率,可被转换为压缩、只读表来节省空间
对于一张表来说,只要是主键,或者加有unique约束的字段会自动创建索引
InnoDB存储引擎
优点:安全,支持事务
缺点:效率低,不能压缩,不能转换为只读,不能很好的节省存储空间
MEMORY存储引擎
优点:查询效率是最高的
缺点:不安全,关机之后数据消失,因为数据和索引都是在内存当中
这篇关于MySQL存储引擎的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-15MySQL教程:初学者必备的MySQL数据库入门指南
- 2024-11-15MySQL教程:初学者必看的MySQL入门指南
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程