MySQL数据库存储引擎

存储引擎就是指表类型,数据库存储引擎决定了表在计算机中的存储方式。

1,查询mysql数据库支持的存储引擎类型:SHOW ENGINES G("G"的作用是让结构显示的更加美观),部分结果如图:


(1)Engine指存储引擎名称

(2)Support说明MySQL是否支持该类型引擎,YES表示支持,DEFAUULT表示默认存储引擎

(3)Comment指对该引擎的说明

(4)Transactions表明是否支持事务处理,YES表示支持

(5)XA表示是否支持分布式交易处理的XA规范,YES表示支持

(6)Savepoints表示是否支持保存点,以便事务回滚到保存点,YES表示支持

2,查询数据库的默认存储引擎:SHOW VARIABLES LIKE 'STORAGE_ENGINE';

可以在mysql的配置文件my.ini中的default-storage-engine=INNODB一栏更改默认的存储引擎。

3,下面介绍一下InnoDB,MyISAM,MEMORY这3种存储引擎:

(1)InnoDB存储引擎:在MySQL从3.23.34.a版本开始包含InnoDB存储引擎。InnoDB存储引擎中,

创建的表的结构存储在.frm文件中。数据和索引存储在innodb_data_home_dir

和innodb_data_file_path定义的表空间中。InnoDB给mysql的表提供了事物管理、

回滚、崩溃修复能力和多版本并发控制的事物安全。同时支持自动增长列AUTO_INCREMENT,

外键(FOREIGN KEY)。缺点是读写效率差,占用的数据空间相对比较大。

(2)MyISAMysql存储引擎:MyISAM存储引擎基于ISAM存储引擎发展起来的,曾是mysql的默认存储引擎。

在该引擎中,表的结构存储在.frm的文件中,数据存储在以MYD为扩展名的文件中,索引存储在

MYI扩展名的文件中。基于MyISAM存储引擎的表支持3中不同的存储格式:静态型,动态型和压缩型。

静态型为默认存储格式,字段长度固定;动态型包含变长字段,记录的长度不固定;压缩型需要使用

myisampack工具创建,占用的磁盘空间较小。

MyISAM存储引擎的优点在于占用空间小,处理速度快。缺点是不支持失误的完整性和并发性。

(3)MEMORY存储引擎:MEMORY存储引擎是mysql数据库中一种特殊的存储引擎。每个基于MEMORY的表实际对应一个

磁盘文件,类型为frm类型。该文件只存储表的结构。数据文件都是存储在内存中。MEMORY存储引

擎默认使用哈希(HASH)索引。速度比使用B型树(BTREE)索引快。MEMORY表的大小是受到

限制的。表的大小主要取决于两个参数,分别是max_rows和max_heap_table_size。max_rows可以

在创建表时指定;max_heap_table_size的大小默认为16MB,可以按需要进行扩大。

MEMORY存储引擎的优点是处理速度非常快,缺点是数据易丢失,生命周期短,通常是一次性的。

如果你觉得本文对你有帮助,请点击右下角的推荐让更多人知道^_^

欢迎光临个人网站 qingguoing.com

原文地址:https://www.cnblogs.com/qingguo/p/5686319.html