存储引擎就是指表类型,数据库存储引擎决定了表在计算机中的存储方式。
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存储引擎的优点是处理速度非常快,缺点是数据易丢失,生命周期短,通常是一次性的。
如果觉得《mysql查询数据库存储引擎_MySQL数据库存储引擎》对你有帮助,请点赞、收藏,并留下你的观点哦!