Mysql 转换表的引擎
来源:互联网 发布:mac绝对路径 编辑:程序博客网 时间:2024/05/21 04:25
下面接受三种Mysql 数据库将表的存储引擎转换成另外一种引擎。每种方法都有优缺点。
ALTER TABLE
将表的一个引擎修改为另个引擎最简单的办法就是是用alter table 语句,下面是修改user 表的储存引擎;
mysql> alter table user engine=InnoDB;Query OK, 0 rows affected (0.07 sec)Records: 0 Duplicates: 0 Warnings: 0mysql> show table status like 'user' \G;
上述语法可以适合任何储存引擎。但是有一个问题:需要执行很长时间。Mysql会按行讲源数据复制到另一新表当中,在复制期间可能会消耗系统所有的I/O能力,同时原表会加上锁。所以在繁忙的表上执行此操作要下心。
如果转换表的存储引擎将会丢失和原引擎相关的所有特性。如,将一张InnoDB表转换为MyISAM,然后转换InnoDB,原InnoDB上的所有外键将会丢失。
导入和导出
为了更好的控制转换过程,可是使用mysqldump 工具将数据导入文件中,然后修改文件中的create table 语句中的存储引擎选项,mysqldump 工具默认会在create table 中加上drop 语句。
创建和查询
第三种装换技术综合了第一种的高效和第二种方法的中的安全,不需要导出真个表的数据。而是先创建一个新的存储引擎的表。然后利用 Insert 。。。。select 语句来导出,
mysql> create table myInnoDB like user;Query OK, 0 rows affected (0.04 sec)mysql> alter table myInnoDB engine=innodb;Query OK, 0 rows affected (0.08 sec)Records: 0 Duplicates: 0 Warnings: 0mysql> insert into myInnoDB select * from user;
0 0
- Mysql 转换表的引擎
- Mysql转换表的引擎
- mysql转换表的存储引擎方法
- 批量转换MySQL数据库表的存储引擎的方法
- 转换表的引擎
- 转换表的引擎
- MySQL数据库引擎转换
- Mysql 存储过程实现表引擎转换(实现一半)
- MySQL 转换/修改表存储引擎 详细介绍
- MySQL从MyISAM引擎转换到InnoDB引擎需要注意的地方
- 表转换存储引擎的方法总结
- MySQL的表类型和存储引擎
- 批量修改MySQL的表引擎
- MySQL的表类型和存储引擎
- MySQL的表类型和存储引擎
- MySQL的表类型和存储引擎
- mysql数据库表修改的默认引擎
- 关于MYSQL 更改表引擎的文章
- C++对象内存布局
- Item 5:那些被C++默默地声明和调用的函数 Effective C++笔记
- 1096. Consecutive Factors (20)
- 冲吧!不必准备好
- httpd: unrecognized service 的解决方案
- Mysql 转换表的引擎
- leetcode: (21) Merge Two Sorted Lists
- [leetcode-257]Binary Tree Paths(java)
- Item 6:禁用那些不需要的缺省方法 Effective C++笔记
- android studio模板
- Item 7:将多态基类的析构函数声明为虚函数 Effective C++笔记
- zend_db_table_row
- 黑马程序员-------Java笔记-------集合综合题(常考的三种题)
- 博客迁移:Shell脚本批量文件处理