4. MySQL的存储引擎

MySQL的表的存储是有其存储引擎的,表分为表结构、表数据、表引擎与表中的索引等等信息。

1、存储引擎一般分几大类:

  • InnoDB
  • MyiASM
  • Memery
  • ...

2、InnoDB存储引擎

MySQL 5.7版本中业务表的默认存储引擎

  • InnoDB给MySQL的表提供了事务、回滚、崩溃修复能力和多版本并发控制的事务安全。
  • InnoDB支持自动增长列AUTO INCREMENT,支持外键FOREIGN KEY。
  • InnoDB中,创建的表结构存储在.frm文件中,数据和索引存储在innodb_data_home_dir和innodb_data_file_path定义的表空间中。
  • 此引擎缺陷在于其读写效率稍差,占用的数据空间相对较大。

3、MyISAM存储引擎

此引擎很常见,曾是MySQL的默认存储引擎。
(MySQL的系统表的默认存储引擎)

  • MyISAM存储引擎的表存储成三个文件,文件的名字与表名相同,扩展名分别为frm、myd和myi,其中,frm文件存储表的结构,myd存储数据,myi存储索引。
  • 基于MyISAM存储引擎的表支持三种不同的存储格式,包括静态性、动态性和压缩性,指的是字段的长度。
  • MyISAM存储引擎的优势在于占用空间小、处理速度快,缺点在于不支持事务的完整性和并发性。

4、MEMORY存储引擎

此引擎较特殊,其使用存储在内存中的内容来创建表,而且将所有数据也放在内存中,因此,处理速度极快。但当内存出现异常将会影响到数据的完整性,因此基于此引擎的表的生命周期很短,一般都是一次性的,因此很少用到。
MEMORY存储引擎默认使用哈希索引。

5、存储引擎选择

存储引擎
  • 一般来说,如果需要对事物的完整性要求表较高,要求实现并发控制,或者需要频繁的进行更新、删除操作的数据库,可以选择InnoDB;
  • 如果主要用于插入新记录和读出记录,或者应用的完整性、并发性要求很低,可以选择MyISAM;
  • 如需很快的读写速度、对数据的安全性要求较低,且相对较小的数据库表,可以选择MEMORY。
    当然,同一个数据库中可以使用多种存储引擎的表。

欢迎关注,以后会不定时更新!

摘自: https://blog.csdn.net/lipengcn/article/details/51115568

PS: 若你觉得可以、还行、过得去、甚至不太差的话,可以“关注”一下,就此谢过!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。