【MySQL】存储引擎

目录

 

1、简介

2、存储引擎种类

3、不同的存储引擎有什么区别

4、查看当前MySQL版本都支持哪些存储引擎

5、更改存储引擎

(1)可以在创建表的时候指定存储引擎

(2)可以修改已存在表的存储引擎

(3)修改配置文件


 

1、简介

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

存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(Table Type,即存储和操作此表的类型)。

Mysql的存储引擎表示的是Mysql中数据库表的存储类型,不同存储类型,表的存储方式都不相同。

2、存储引擎种类

MySQL支持很多存储引擎,包括MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDB Cluster、ARCHIVE等,其中InnoDB和BDB支持事务安全。

3、不同的存储引擎有什么区别

这个问题我们主要研究的是:MyISAM、InnoDB、Memory这三个引擎的区别,那其实我们下面的表格就已经能说明问题了:

种类

锁机制

B-树索引

哈希索引

外键

事务

索引缓存

数据缓存

MyISAM(存储在文件中)

表锁

支持

不支持

不支持

不支持

支持

不支持

InnoDB(存储在文件中)

行锁(在没有索引的情况下默认是锁表,在建立索引之后才实现行锁)

支持

不支持

支持

支持

支持

支持

Memory(存储在缓存中)

表锁

支持

支持

不支持

不支持

支持

支持

 

4、查看当前MySQL版本都支持哪些存储引擎

如下命令:

mysql> show engines\G
*************************** 1. row ***************************
    Engine: InnoDB
    Support: DEFAULT
    Comment: Supports transactions, row-level locking, and foreign keys
    Transactions: YES
    XA: YES
    Savepoints: YES
*************************** 2. row ***************************
    Engine: MRG_MYISAM
    Support: YES
    Comment: Collection of identical MyISAM tables
    Transactions: NO
    XA: NO
    Savepoints: NO
*************************** 3. row ***************************
    Engine: MEMORY
    Support: YES
    Comment: Hash based, stored in memory, useful for temporary tables
    Transactions: NO
    XA: NO
    Savepoints: NO

...后面还有很多支持的存储引擎,这里限于篇幅,就不粘贴完整的内容了,Support后面是DEFAULT,表示当前使用的存储引擎,上面是InnoDB

 

5、更改存储引擎

(1)可以在创建表的时候指定存储引擎

CREATE TABLE ai ( i BIGINT(20) NOT NULL AUTO_INCREMENT, PRIMARY KEY (i) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

(2)可以修改已存在表的存储引擎

ALTER TABLE user ENGINE = InnoDB;

 

(3)修改配置文件

还可以修改配置文件,MySQL Server启动的时候都会加载一个配置文件,windows下是my.ini文件,linux下是my.cnf文件,打开配置文件,在[mysqld]下面添加如下内容,保存,重启MySQL Server服务器,默认就采用配置项指定的存储引擎了。记得操作之后一定要保存再重新启动Mysql服务,需要新建数据库老的数据库用的还是老的存储引擎。

image

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值