1、存储引擎简介
MySQL可以将数据以不同的技术存储在文件(内存)中,该技术就被称为存储引擎。每一种存储引擎使用不同的存储机制、索引技巧、锁定水平,最终提供广泛且不同的功能。对于关系型数据库而言,数据都是以数据表的形式存储的,因此存储引擎也可以理解为是表类型。
例如:
查看数据表“test”的建表结构:
其中“ENGING = InnoDB”即为本节要讲述的存储引擎。而MySQL支持的常见存储引擎有如下几种:
MyISAM、InnoDB、Memory、CSV、Archive
在介绍各个存储引擎的特点之前,先来了解几个相关知识点:
2、存储引擎的特点
特点 | MyISAM | InnoDB | Memory | Archive |
---|---|---|---|---|
存储限制 | 无 | 64TB | 有 | 无 |
事务安全 | - | 支持 | - | - |
支持索引 | 支持 | 支持 | 支持 | |
锁粒度 | 表锁 | 行锁 | 表锁 | 行锁 |
数据压缩 | 支持 | - | - | 支持 |
支持外键 | - | 支持 | - | - |
MyISAM:拥有较高的插入,查询速度,但不支持事务,是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一;
InnoDB :事务型数据库的首选引擎,提供了具有提交、回滚和崩溃恢复能力的事务安全,支持ACID事务,支持行级锁定;
Memory:将所有数据保存在内存中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问,但如果数据库重启或崩溃,数据会丢失,因此只适合存储临时数据;
Archive:适合存储归档数据,如日志信息。它只支持INSERT和SELECT操作,其设计的主要目的是提供高速的插入和压缩功能;
CSV: 逻辑上由逗号分割数据的存储引擎,它会在数据库子目录里为每个数据表创建一个.CSV文件。这是一种普通文本文件,每个数据行占用一个文本行。可以将Excel的数据存储为CSV格式文件,再复制到MySQL的数据目录下,就能在MySQL中以表的方式打开,因此适合作为一种数据交换机制。
3、修改存储引擎
- 修改MySQL配置文件
-
创建数据表时指定
-
修改数据表的存储引擎
版权声明:欢迎转载,欢迎扩散,但转载时请标明作者以及原文出处,谢谢合作! ↓↓↓
网友评论