Welcome 微信登录

首页 / 数据库 / MySQL / MySQL数据库存储引擎

简单介绍存储引擎就是指表的类型。数据库的存储引擎决定了表在计算机中的存储方式。存储引擎的概念是MySQl的特点,而且是一个插入式的存储引擎概念。这就决定了MySQl数据库中的表可以使用不同的存储方式存储。用户可以根据自己的不同要求,选择不同的存储方式、是否进行事务处理等。推荐阅读:InnoDB存储引擎的启动、关闭与恢复 http://www.linuxidc.com/Linux/2013-06/86415.htmInnoDB存储引擎后台线程中的master thread http://www.linuxidc.com/Linux/2013-06/86414.htmInnoDB存储引擎后台线程与内存池 http://www.linuxidc.com/Linux/2013-06/86412.htmMySQL InnoDB存储引擎锁机制实验 http://www.linuxidc.com/Linux/2013-04/82240.htmMySQL查看和修改表的存储引擎 http://www.linuxidc.com/Linux/2012-10/72884.htmMySQL中merge表存储引擎用法 http://www.linuxidc.com/Linux/2012-08/67797.htm查询方式及内容解析使用SHOW ENGINES语句可以查看MySQL数据库支持的存储引擎类型。查询方法如下:
1SHOW ENGINES;
SHOW ENGUNES语句可以使用“;”结束,也可以使用“g”或者“G”结束。“g”与“;”的作用相同,“G”可以让结果显示的更加美观。
12345678910111213141516171819202122232425262728293031mysql> SHOW ENGINESG *************************** 1. row *************************** Engine: MRG_MYISAM Support: YES Comment: Collection of identical MyISAM tables Transactions: NO XA: NO Savepoints: NO *************************** 2. row *************************** Engine: InnoDB Support: DEFAULT Comment: Supports transactions, row-level locking, and foreign keys Transactions: YES XA: YES Savepoints: YES *************************** 3. row *************************** Engine: MyISAM Support: YES Comment: MyISAM storage engine Transactions: NO XA: NO Savepoints: NO ###############中间已省略################### *************************** 8. row *************************** Engine: MEMORY Support: YES Comment: Hash based, stored in memory, useful for temporary tables Transactions: NO XA: NO Savepoints: NO 8 rows in set (0.11 sec)
解析:查询结果中,Engine参数指存储引擎名称;Support参数说明MySQL是否支持该类引擎,YES表示支持;Comment参数指对该引擎的评论;Transactions 参数表示是否支持事务处理,YES表示支持;XA参数表示是否分布式交易处理XA规范,YES表示支持;Savepoints参数表示是否支持保存点,以便事务回滚到保存点,YES表示支持。从查询结果中可以看出,MySQL支持的引擎参数包括MyISAM、MEMORY、InnoDB、ARCHIVE和MRG_MYISAM等。其中InnoDB为默认的存储引擎。可使用语句查询默认的存储引擎此代码如下:
1SHOW VARIABLES LIKE "storage_engine";
代码执行的结果如下:
1234567mysql> SHOW VARIABLES LIKE "storage_engine"; +----------------+--------+ | Variable_name | Value | +----------------+--------+ | storage_engine | InnoDB | +----------------+--------+ 1 row in set (0.10 sec)
解析:结果显示默认的存储引擎??InnoDB。如果想修改默认的存储引擎可以在配置文件my.ini中修改。将”default-storage-engine=InnoDB”更改为”default-storage-engine=MyISAM”。然后重启服务,修改生效。使用SHOW TABLESTATUS可以查看某个库中所有表支持的存储引擎类型查询方法如下:
12345678910111213141516171819202122mysql> USE hellodb Database changed mysql> SHOW TABLE STATUSG *************************** 7. row *************************** Name: toc Engine: MyISAM Version: 10 Row_format: Fixed Rows: 0 Avg_row_length: 0 Data_length: 0 Max_data_length: 2533274790395903 Index_length: 1024 Data_free: 0 Auto_increment: 1 Create_time: 2013-08-12 16:17:23 Update_time: 2013-08-12 16:17:23 Check_time: NULL Collation: utf8_general_ci Checksum: NULL Create_options: Comment:
解析:结果显示对于MySQL来说所有表默认都是使用MyISAM存储引擎,其中Name:表名;Engine:使用的存储引擎;Version:所用存储引擎的版本;Row_format:行格式,对于MyISAM存储引擎来说常见的有Dynamic(变长记录), Fixed(定长记录), Compressed(压缩以后存放的行), compact(InnoDB中常见的);Rows: 表中的行数(对于其他存储引擎来说这个值是估算的);Avg_row_length: 行的平均字节数;Data_length:表的数据量,单位为字节;Max_data_length:表的容量上限(不同的存储引擎容量上限不同);Index_length:索引数据量,单位字节;Data_free:已经分配出去,但未存储数据的存储空间;Auto_increment:具有自动增长属性的字段上,下一个自动增长的值;Create_time:表的创建时间;Update_time: 数据最近一次的更新时间;Check_time: 使用CHECK命令最近一次检查表的时间;myisamchk; Checksum: 表的校验和;Create_options:创建表时指定的其它选项;Comment: 对于MyISAM表,存储的是创建表时的comment表选项指定的信息;对InnoDB表来讲,存储对应的表空间剩余的表空间信息。更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2013-10/90920p2.htm
  • 1
  • 2
  • 下一页
OGG配置DML单向复制一例及错误分析Oracle中sign函数和decode函数的使用相关资讯      MySQL数据库引擎  MySQL数据库存储  MySQL存储引擎 
  • MySQL修改表的存储引擎(myisam<=>  (05月02日)
  • 由MySQL中的falcon存储引擎引申心  (05/02/2015 19:51:34)
  • MySQL各存储引擎特点及选择建议  (12/21/2015 13:29:25)
  • MySQL逻辑架构及存储引擎简介  (04/08/2014 10:39:18)
本文评论 查看全部评论 (0)
表情: 姓名: 字数