码迷,mamicode.com
首页 > 数据库 > 详细

MySQL学习笔记(1) - 存储引擎概述

时间:2016-06-24 12:08:55      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

和大多数数据库不同,在MySQL中存在一个存储引擎的概念,针对不同的存储需求可以选择最优的存储引擎。

一、MySQL存储引擎概述

插件式存储引擎是MySQL数据库最重要的特征之一,用户可以根据应用的需要寻找如何存储和索引数据、是否使用事务等。MySQL默认支持多种存储引擎,以适用于不同领域的数据库应用需求,用户可以通过选择选择不同的存储引擎提供应用的效率,提供灵活的存储,用户甚至可以按照自己的需要定制和使用自己的存储引擎,以实现最大程度的可定制性。

MySQL支持的存储引擎包括MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDB Cluster、ARCHIVE、CVS、BLACKHOLE、FEDERATED等,其中InnoDB和BDB提供事务安全表,其他存储引擎都是非事务安全表。

默认情况下,创建表时未指定表的存储引擎,则该表使用默认的存储引擎。如果需要修改默认的存储引擎,则可以在参数文件中设置defalut-table-type。查看当前的默认存储引擎,可以使用如下命令:

show variables like ‘table_type‘;

可以通过下列两种方法查询当前数据库支持的存储引擎:

mysql> show engines;
mysql> show variables like ‘have%‘;

在创建表时,可以通过增加ENGINE关键字设置表的存储引擎:

CREATE TABLE table_name1(
  ...
) ENGINE=MyISAM;


CREATE TABLE table_name2(
  ...
) ENGINE=InnoDB;

也可以通过ALTER TABLE语句将一个已经存在的表修改成其他的存储引擎:

alter table table_name ENGINE=innodb;

二、MySQL中各类存储引擎的特征见下表:

特点 MyISAM InnoDB Memory Merge NDB
存储限制 64TB 没有
事务安全   支持      
锁机制 表锁 行锁 表锁 表锁 行锁
B树索引 支持 支持 支持 支持 支持
哈希索引   支持     支持
全文索引 支持        
集群索引   支持      
数据缓存   支持 支持   支持
索引缓存 支持 支持 支持 支持 支持
数据可压缩 支持        
空间使用  
内存使用
批量插入速度
支持外键   支持      

 

MySQL学习笔记(1) - 存储引擎概述

标签:

原文地址:http://www.cnblogs.com/magnes/p/5613318.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!