MySQL学习笔记2---MySQL数据库的存储引擎和数据类型

时间:2022-09-21 12:15:22

MySQL学习笔记2---MySQL数据库的存储引擎和数据类型

 

1      存储引擎

为了提高数据库管理系统的使用效率和灵活性,根据不同的开发需求来决定不同的存储引擎。存储引擎可以指定表的类型,如数据的存储、索引以及事物操作的支持,也决定数据库在计算机的存储方式。

1.1  MySQL存储引擎的特征

MySQL学习笔记2---MySQL数据库的存储引擎和数据类型

最常使用的2种存储引擎:

Myisam是Mysql的默认存储引擎。当create创建新表时,未指定新表的存储引擎时,默认使用Myisam。每个MyISAM在磁盘上存储成三个文件。文件名都和表名相同,扩展名分别是.frm(存储表定义)、.MYD (MYData,存储数据)、.MYI (MYIndex,存储索引)。数据文件和索引文件可以放置在不同的目录,平均分布io,获得更快的速度。

InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比Myisam的存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。

如何选择合适的存储引擎

选择标准:根据应用特点选择合适的存储引擎,对于复杂的应用系统可以根据实际情况选择多种存储引擎进行组合。

 

下面是常用存储引擎的适用环境:

1.MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一

2.InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。

3.Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。

4.Merge:允许MySQL DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起,并作为1个对象引用它们。对于诸如数据仓储等VLDB环境十分适合。

 

1.2      查看支持的存储引擎

       语法形式:show engines \g 或者show engines\G

MySQL学习笔记2---MySQL数据库的存储引擎和数据类型


1.3      查询默认存储引擎

语法形式:show variables like ‘storage_engine%’;

MySQL学习笔记2---MySQL数据库的存储引擎和数据类型

2      MySQL数据类型

MySQL数据类型整理如下表:

 MySQL学习笔记2---MySQL数据库的存储引擎和数据类型

MySQL学习笔记2---MySQL数据库的存储引擎和数据类型

MySQL学习笔记2---MySQL数据库的存储引擎和数据类型

MySQL学习笔记2---MySQL数据库的存储引擎和数据类型