查看当前数据库支持哪些数据存储引擎
sql >> SHOW ENGINES ;
mysql5.7数据库支持的数据存储引擎
-
InnoDB数据存储引擎(Mysql5.5+ 默认数据存储引擎)
主要特性:
- InnoDB引擎提供了对数据库ACID事务的支持,并实现了sql标准的四中隔离级别。
- InnoDB引擎支持粒度更小的行锁,提高了数据库系统在高并发读写上的执行效率,但是当执行不确定范围的查询语句时同样会锁定全表。
- Mysql运行InnoDB引擎时会在内存中建立缓冲池,用于缓冲数据和索引。
- InnoDB引擎不支持FULLTEXT类型索引。
- InnoDB引擎不保存数据表的行数,因此在执行 select count(*) from table 的时候需要扫描全表。
-
MyISAM数据存储引擎
ISAM数据存储引擎的扩充
主要特性:
- 不支持事务和外键,仅支持表级锁,不支持行锁。
- 数据表占用的空间可以被压缩,因此占用存储空间较小。
- 数据是以文件的方式存储在磁盘上,对于数据转移和备份比较方便。
- 支持FULLTEXT索引。
- 保存数据表的行数,当执行 select count(*) from table 的时候不会比那里数据表而是直接取出数据表对应的行数。
-
MEMORY数据存储引擎
主要特性:
- MEMORY存储引擎创建的数据表只能存放在内存之内。
- 默认使用Hash索引,速度比BTREE索引更快。
- 只能存储数据量较小的表,不能存储数据量太大的表否则会使得内存溢出。
存储引擎的选择
InnoDB: 可以进行事务处理,能够较好的保证事务的完整性。可以实现高效的并发控制。
MyISAM: 插入数据快,空间内存使用比较小。数据操作记录主要以查询与插入为主。对数据的完整性,并发性要求不高。
MEMORY:提供极快的数据访问速度,但是数据表不能太大,同时数据表容易丢失。主要用于提供快速查询的临时表。
网友评论