Mysql修改数据存储引擎

前言

 今天开始以后会有很多数据库相关的信息整理,以备查询。

正文

常见的mysql表引擎有InnoDB和MyISAM,主要的区别是InnoDB适合频繁写数据库操作,MyISAM适合读取数据库的情况多一点,如何把表引擎InnoDB更改为MyISAM呢?
首先查看数据库引擎:

mysql> show engines;


看你的mysql当前默认的存储引擎:

mysql> show variables like '%storage_engine%';


你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):

mysql> show create table 表名;


MySQL作为最常用的数据库,经常遇到各种各样的问题。今天要说的就是表存储引擎的修改。有三种方式,列表如下。
1.真接修改。
 在数据多的时候比较慢,而且在修改时会影响读取性能。my_table是操作的表,innoDB是新的存储引擎。
复制代码代码如下:

ALTER TABLE my_table ENGINE=InnoDB


2.导出,导入。
这个比较容易操作,直接把导出来的sql文件给改了,然后再导回去。用mysqldump ,枫哥常用的是navicate那样更容易上手。友情提醒风险较大。


3.创建,插入。
这个比第一种速度快, 安全性比第二种高,推荐。分2步操作
a.创建表,先创建一个和要操作表一样的表,然后更改存储引擎为目标引擎。
复制代码代码如下:

CREATE TABLE my_tmp_table LIKE my_table;
ALTER TABLE my_tmp_table ENGINE=InnoDB;


b.插入。为了安全和速度,最好加上事务,并限制id(主键)范围。
复制代码代码如下:

INSERT INTO my_tmp_table SELECT * FROM my_table;

你可能感兴趣的:(mysql)