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

mysql储存引擎

时间:2019-03-16 19:19:44      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:引擎   storage   数据库管理   variable   特定   关于   能力   没有   isa   

Mysql数据库常用存储引擎

数据库存储引擎:是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是插件式存储引擎。

查看存储引擎:

mysql> show engines;

 

MySQL给用户提供了许多不同的存储引擎。在MySQL中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可以对每一个表使用不同的存储引擎。Support列的值表示某种引擎是否能使用:YES表示可以使用、NO表示不能使用、DEFAULT表示该引擎为当前默认的存储引擎。

使用下面sql可以查看默认使用的引擎:

mysql> show variables like ‘storage_engine‘;

 

 

几种常见的存储引擎:

InnoDB存储引擎

InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),其它存储引擎都是非事务安全表,支持行锁定和外键,MySQL5.5以后默认使用InnoDB存储引擎。

支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。

 

 MyISAM存储引擎

MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但不支持事务,不支持外键。

 插入数据快,空间和内存使用比较低。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率。如果应用的完整性、并发性要求比较低,也可以使用。

 

MERGE存储引擎

Merge存储引擎是一组MyISAM表的组合,这些MyISAM表必须结构完全相同,merge表本身并没有数据,对merge类型的表可以进行查询,更新,删除操作,这些操作实际上是对内部的MyISAM表进行的。

关于存储引擎的一些命令:

查看表的存储引擎:

Show  create  table  table_name;

或者

show table status from db_name where name=‘table_name‘;

修改表的存储引擎sql:

Alter  table  table_name  type=InnoDB;

或者

alter table student engine=MyISAM;

创建表时指定存储引擎:

mysql> create  table  test1(id int) engine= MyISAM

或者

# vi  /etc/my.cnf

[mysqld]

default-storage-engine=INNODB

或者使用命令修改:

mysql> set  default_storage_engine=MyISAM

mysql储存引擎

标签:引擎   storage   数据库管理   variable   特定   关于   能力   没有   isa   

原文地址:https://www.cnblogs.com/duanlinxiao/p/10543778.html

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