Heim >Datenbank >MySQL-Tutorial > Mysql数据库存储引擎

Mysql数据库存储引擎

WBOY
WBOYOriginal
2016-06-07 17:38:571253Durchsuche

简单介绍存储引擎就是指表的类型。数据库的存储引擎决定了表在计算机中的存储方式。存储引擎的概念是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


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



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

  • Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn