mysql利用merge存储引擎分表的方法
2016-07-06 00:00
751 查看
1、创建分表,和主表的表结构相同,这里创建3个表
1 2 | CREATE TABLE 新表 LIKE 旧表; CREATE TABLE nqhuacom1 LIKE nqhuacom; |
2、复制主表数据到分表
1 2 | INSERT INTO nqhuacom1 SELECT * FROM nqhuacom LIMIT 50000; INSERT INTO nqhuacom2 SELECT * FROM nqhuacom LIMIT 50001,50000; INSERT INTO nqhuacom3 SELECT * FROM nqhuacom LIMIT 100002,50000; INSERT INTO nqhuacom4 SELECT * FROM nqhuacom LIMIT 150003,50000; INSERT INTO nqhuacom5 SELECT * FROM nqhuacom LIMIT 200004,50000; INSERT INTO nqhuacom6 SELECT * FROM nqhuacom LIMIT 250005,50000; |
3、创建汇总表nqhuacomall
1 2 | CREATE TABLE nqhuacomAll LIKE nqhuacom; ALTER TABLE csdnall ENGINE=MERGE UNION=(nqhuacom1,nqhuacom2,nqhuacom3,nqhuacom4,nqhuacom5,nqhuacom6) INSERT_METHOD=LAST; |
LAST 如果你执行insert 指令来操作merge表时,插入操作会把数据添加到最后一个子表中。FIRST 同理,执行插入数据时会把数据添加到第一个子表中。
——————————————————————————————
不停机修改mysql表结构
同样还是members表,前期设计的表结构不尽合理,随着数据库不断运行,其冗余数据也是增长巨大,使用了下面的方法来处理:先创建一个临时表:
1 2 | /*创建临时表*/ CREATE TABLE members_tmp LIKE members |
1 2 | /*这是个颇为经典的语句哈*/ RENAME TABLE members TO members_bak,members_tmp TO members; |
相关文章推荐
- mysql修改表、字段、库的字符集
- mysql事务
- mysql常用语句
- mysqld --debug-sync
- mysql教程
- MySQL常用函数与运算符
- 从Mysql开始
- mysql源码安装(5.1)
- .NET c# EF DB first 连接mysql 实施
- 优化MySQL中的分页
- mysql sql 优化最佳实践----持续性补充札记
- mysql相关的命令操作
- MySQL5.6安装步骤
- MySql之分页优化
- 再论mysql线程出现Waiting for table flush被hang住问题
- MySQL_5.5安装图解教程
- MySQL的分页技术总结
- MySQL-5.6.27两种方式部署多实例以及mysqld_multi脚本BUG处理
- mysql_初入江湖_03_crud
- 人工误删除了MYSQL的InnoDB ibdata数据文件,如何快速恢复