当前位置:  开发笔记 > 后端 > 正文

Mysql数据库存储引擎

简单介绍存储引擎就是指表的类型。数据库的存储引擎决定了表在计算机中的存储方式。存储引擎的概念是MySQl的特点,而且是一个插入式的存储引擎概念。这就决定了M

简单介绍存储引擎就是指表的类型。数据库的存储引擎决定了表在计算机中的存储方式。存储引擎的概念是MySQl的特点,而且是一个插入式的存储引擎概念。这就决定了M

简单介绍

存储引擎就是指表的类型。数据库的存储引擎决定了表在计算机中的存储方式。存储引擎的概念是MySQl的特点,而且是一个插入式的存储引擎概念。这就决定了MySQl数据库中的表可以使用不同的存储方式存储。用户可以根据自己的不同要求,选择不同的存储方式、是否进行事务处理等。


查询方式及内容解析

使用SHOW ENGINES语句可以查看MySQL数据库支持的存储引擎类型。查询方法如下:

SHOW ENGINES;

SHOW ENGUNES语句可以使用“;”结束,也可以使用“\g”或者“\G”结束。“\g”与“;”的作用相同,“\G”可以让结果显示的更加美观。

mysql> SHOW ENGINES\G *************************** 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为默认的存储引擎。可使用语句查询默认的存储引擎此代码如下:

SHOW VARIABLES LIKE 'storage_engine';

代码执行的结果如下:

mysql> 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可以查看某个库中所有表支持的存储引擎类型查询方法如下:

mysql> USE hellodb Database changed mysql> SHOW TABLE STATUS\G *************************** 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:

  • 个人建议:

    存储日志或按时间增长的数据:MyISAM、ARCHIVE

    论坛应用:InnoDB

    电商订单:InnoDB

    数据量大:Infobright、NoSQL、Sphinx


    个人总结,,希望对博友们有用!!



    本文出自 “起点梦想” 博客,请务必保留此出处

  • 推荐阅读
    惬听风吟jyy_802
    这个屌丝很懒,什么也没留下!
    DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
    Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有