成佩涛编程之路——Mysql分表操作
来源:互联网 发布:冠新软件 编辑:程序博客网 时间:2024/05/17 09:30
一、利用merge存储引擎来实现分表
1、创建分表,和主表的表结构相同,这里创建3个表
- CREATE TABLE 新表 LIKE 旧表;
- CREATE TABLE cpthack1 LIKE cpthack;
2、复制主表数据到分表
- INSERT INTO cpthack1 SELECT * FROM cpthack LIMIT 50000;
- INSERT INTO cpthack2 SELECT * FROM cpthack LIMIT 50001,50000;
- INSERT INTO cpthack3 SELECT * FROM cpthack LIMIT 100002,50000;
3、创建汇总表cpthackall
- CREATE TABLE cpthackAll LIKE cpthack;
- ALTER TABLE cpthackall ENGINE=MERGE UNION=(cpthack1,cpthack2,cpthack3) INSERT_METHOD=LAST;
这样插入新的数据会插入的cpthack3,最后一个表中
----------------------------------------------------------------------------------------------------------
以下是测试实例:
将代码copy之后保存为xxx.sql文件即可
/*
Navicat MySQL Data Transfer
Source Server : localhost
Source Server Version : 50045
Source Host : localhost:3306
Source Database : cpt1
Target Server Type : MYSQL
Target Server Version : 50045
File Encoding : 65001
Date: 2014-05-09 16:34:21
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `user`
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) default NULL,
`description` varchar(20) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('2', 'cpthack', '12312312312312312312');
-- ----------------------------
-- Table structure for `user1`
-- ----------------------------
DROP TABLE IF EXISTS `user1`;
CREATE TABLE `user1` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) default NULL,
`description` varchar(20) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=459 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of user1
-- ----------------------------
INSERT INTO `user1` VALUES ('100', '123', '13123');
INSERT INTO `user1` VALUES ('101', 'test', '成佩涛测试的数据');
INSERT INTO `user1` VALUES ('102', 'test', '成佩涛测试的数据');
INSERT INTO `user1` VALUES ('103', 'test', '成佩涛测试的数据');
INSERT INTO `user1` VALUES ('104', 'test', '成佩涛测试的数据');
INSERT INTO `user1` VALUES ('105', 'test', '成佩涛测试的数据');
INSERT INTO `user1` VALUES ('106', 'test', '成佩涛测试的数据');
INSERT INTO `user1` VALUES ('107', 'test', '成佩涛测试的数据');
-- ----------------------------
-- Table structure for `userall`
-- ----------------------------
DROP TABLE IF EXISTS `userall`;
CREATE TABLE `userall` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) default NULL,
`description` varchar(20) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8 INSERT_METHOD=LAST UNION=(`user`,`user1`);
-- ----------------------------
-- Records of userall
-- ----------------------------
INSERT INTO `userall` VALUES ('2', 'cpthack', '12312312312312312312');
INSERT INTO `userall` VALUES ('100', '123', '13123');
INSERT INTO `userall` VALUES ('101', 'test', '成佩涛测试的数据');
INSERT INTO `userall` VALUES ('102', 'test', '成佩涛测试的数据');
INSERT INTO `userall` VALUES ('252', 'test', '成佩涛测试的数据');
INSERT INTO `userall` VALUES ('253', 'test', '成佩涛测试的数据');
INSERT INTO `userall` VALUES ('254', 'test', '成佩涛测试的数据');
INSERT INTO `userall` VALUES ('255', 'test', '成佩涛测试的数据');
INSERT INTO `userall` VALUES ('256', 'test', '成佩涛测试的数据');
INSERT INTO `userall` VALUES ('257', 'test', '成佩涛测试的数据');
PS:本文关键词 :mysql分表 mysql merge分表
- 成佩涛编程之路——Mysql分表操作
- mysql 分表操作
- mysql分表操作
- MySQL之—— linux下 MYSQL定时备分
- mysql分表场景分析与简单分表操作
- 成佩涛编程之路——MySQL除法精度问题
- mysql —— 分表分区
- mysql —— 分表分区
- mysql —— 分表分区
- mysql —— 分表分区
- mysql分表之MRG_MyISAM存储引擎实现分表
- Hadoop编程之MapReduce操作Mysql数据库
- PHP编程之旅----mysql数据库操作
- Hadoop编程之MapReduce操作Mysql数据库
- Hadoop编程之MapReduce操作Mysql数据库
- Hadoop编程之MapReduce操作Mysql数据库
- MySql之表操作
- mysql 分表,分库
- HDU 4059 The Boss on Mars-矩阵+容斥
- WP7开发调用相机和选择相片任务
- 串口转WIFI
- java 实现系统目录树 ,树控件使用,显示 系统文件夹
- 《JavaScript权威指南》学习笔记一
- 成佩涛编程之路——Mysql分表操作
- web组件间的关系-forward、url重定向
- STM32f103之USART+EXTI+TIMER+KEY+LED(简单综合应用)1
- 关于产品的那些事儿
- C++ GDI绘图程序框架模板
- 配置VMWare远程调试FreeBSD9.2内核源代码
- Linux GCC常用命令
- 开放源码的微微信.NET 0.8 版发布了
- Cocos2d-x3.0 从代码中获取cocostudio编辑的UI控件