mysql:存储引擎

·  阅读 191
mysql:存储引擎

1/什么是存储引擎

在mysql中,我们运用不同的技术把数据存储在文件(或者内存)中,
每一种技术都使用不同的存储机制、索引技巧、锁定水平,并且最终提供广泛的不同的功能和能力。
通过选择不同的存储引擎,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。
这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎。

例如:
  <1>如果你需要一个把所有数据都存放在内存的数据库,那么你就需要选择内存存储引擎。
  <2>你需要一个支持事务处理的数据库,以确保事务处理不成功的时候数据的回退能力。
      那么你就需要选择支持事务处理的数据引擎,比如InnoDB。
复制代码

2/MySQL主要有8种存储引擎

MySQL默认配置了许多不同的存储引擎,可以预先设置或者在MySQL服务器中启用。
你可以选择适用于服务器、数据库和表格的存储引擎。
MySQL数据库的存储引擎是可以选择改变和替换的。

MyISAM: 高速引擎,不支持事务处理
InnoDB: 支持行锁定以及事务处理,速度比MyISAM稍慢
ISAM: MyISAM的前身
MERGE: 将多个MyISAM类型的表作为一个表来处理的引擎
MEMORY,HEAP: 只在内存上保存数据
Falcon: 一种新的存储引擎,支持事务处理
ARCHIVE: 将数据压缩后保存(只能支持INSERT/SELECT操作
CSV: 以CSV形式保存数据(应用于跨平台数据交换)
复制代码

3/查看存储引擎

查看某表使用的存储引擎,语法代码如下:
    SHOW CREATE TABLE 表名;
如下图表所示ENGINE=后面显示的就是存储引擎,是InnoDB,该存储引擎可以支持事务处理。
复制代码

image.png

4/更改存储引擎

更改存储引擎,你可以理解为修改的是表的数据结构,所以用的是alter table,而不是update。
语法:
    ALTER TABLE 表名 ENGINE=新引擎名;
    
举例子:
    ALTER TABLE customer ENGINE=MyISAM;
复制代码

image.png

分类:
开发工具
标签:
收藏成功!
已添加到「」, 点击更改