MySQL存储引擎和表类型

基本介绍

  1. MySQL的表类型由存储引擎决定,主要包括MyISAM、InnoDB、Memory等

  2. MySQL数据表主要支持六种类型,分别是:CSV、Memory、ARCHIVE、MRG_MYISAM、MYISAM、InnoDB

  3. 数据表可以分为两类:一类是事务安全型,比如InnoDB;另一类是非事务安全型,其余都属于第二类。

主要的存储引擎/表类型特点

image

细节说明

主要说三种表类型:MyISAM、InnoDB、Memory

  1. MyISAM不支持事务,也不支持外键,但访问速度快,对事务完整性没有要求
  2. InnoDB存储引擎提供了具有提交、回滚和崩溃修复能力的事务安全。但比起MyISAM,处理效率会差一些,并且会占用更多的磁盘空间以保留数据和索引
  3. Memory存储引擎使用存在内存中的内容来创建表。每个Memory表只实际对应一个磁盘文件。Memory类型的表访问非常快,因为数据是存在内存中的,并且默认使用HASH索引。但是一旦MySQL服务关闭,表中数据会丢失,但表结构还在

如何选择表的存储引擎

  1. 如果不需要事务,只处理基本的CRUD,MyISAM是最好的选择,速度快
  2. 需要支持事务,就选择InnoDB
  3. Memory存储引擎将数据存储在内存中,由于没有I/O等待,速度极快,但由于是内存存储引擎,所在的任何修改在服务器重启后都将消失(经典用法:用户的在线状态)

修改存储引擎

ALTER TABLE [表名] ENGINE = [存储引擎]

posted @ 2021-11-20 22:08  小垃圾在努力!  阅读(126)  评论(0)    收藏  举报