mysql分表
来源:互联网 发布:网络机房管理制度 编辑:程序博客网 时间:2024/05/29 11:10
分表的目的是为了当表数据大的时候,为了减少花费时间所存在的一种机制。
1.这里有一张Product表。
CREATE TABLE `product` ( `id` varchar(64) COLLATE utf8_bin NOT NULL, `code` varchar(64) COLLATE utf8_bin NOT NULL COMMENT '代码', `sku` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT 'SKU', `name` varchar(255) COLLATE utf8_bin NOT NULL COMMENT '名称', `full_name` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '全称', `short_name` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '全称', `english_name` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '英文名', `spec` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '规格', `shelf_life` int(11) DEFAULT NULL COMMENT '保质期', `ctn_gtin` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '箱GTIN', `pcs_gtin` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '单品GTIN', `type_id` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '类型id', `active` tinyint(1) DEFAULT '1' COMMENT '可用', `pcs_per_ctn` int(11) DEFAULT NULL COMMENT '每箱单品数', `ctn_per_plt` int(11) unsigned DEFAULT NULL COMMENT '每托箱数', `barcode` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '条码', `jde_code` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT 'JDE编码', `create_by` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '创建者', `create_date` datetime NOT NULL COMMENT '创建时间', `update_by` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '更新者', `update_date` datetime NOT NULL COMMENT '更新时间', `remarks` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '备注信息', `del_flag` char(1) COLLATE utf8_bin NOT NULL DEFAULT '0' COMMENT '删除标记(0:正常;1:删除)', `type` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '产品类型', PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;2.建两张product2、product3 表用于分担原表的数据量,两表的结构字段必须和原表product一致:
CREATE TABLE `product2` ( `id` varchar(64) COLLATE utf8_bin NOT NULL, `code` varchar(64) COLLATE utf8_bin NOT NULL COMMENT '代码', `sku` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT 'SKU', `name` varchar(255) COLLATE utf8_bin NOT NULL COMMENT '名称', `full_name` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '全称', `short_name` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '全称', `english_name` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '英文名', `spec` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '规格', `shelf_life` int(11) DEFAULT NULL COMMENT '保质期', `ctn_gtin` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '箱GTIN', `pcs_gtin` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '单品GTIN', `type_id` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '类型id', `active` tinyint(1) DEFAULT '1' COMMENT '可用', `pcs_per_ctn` int(11) DEFAULT NULL COMMENT '每箱单品数', `ctn_per_plt` int(11) unsigned DEFAULT NULL COMMENT '每托箱数', `barcode` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '条码', `jde_code` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT 'JDE编码', `create_by` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '创建者', `create_date` datetime NOT NULL COMMENT '创建时间', `update_by` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '更新者', `update_date` datetime NOT NULL COMMENT '更新时间', `remarks` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '备注信息', `del_flag` char(1) COLLATE utf8_bin NOT NULL DEFAULT '0' COMMENT '删除标记(0:正常;1:删除)', `type` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '产品类型', PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
CREATE TABLE `product3` ( `id` varchar(64) COLLATE utf8_bin NOT NULL, `code` varchar(64) COLLATE utf8_bin NOT NULL COMMENT '代码', `sku` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT 'SKU', `name` varchar(255) COLLATE utf8_bin NOT NULL COMMENT '名称', `full_name` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '全称', `short_name` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '全称', `english_name` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '英文名', `spec` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '规格', `shelf_life` int(11) DEFAULT NULL COMMENT '保质期', `ctn_gtin` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '箱GTIN', `pcs_gtin` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '单品GTIN', `type_id` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '类型id', `active` tinyint(1) DEFAULT '1' COMMENT '可用', `pcs_per_ctn` int(11) DEFAULT NULL COMMENT '每箱单品数', `ctn_per_plt` int(11) unsigned DEFAULT NULL COMMENT '每托箱数', `barcode` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '条码', `jde_code` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT 'JDE编码', `create_by` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '创建者', `create_date` datetime NOT NULL COMMENT '创建时间', `update_by` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '更新者', `update_date` datetime NOT NULL COMMENT '更新时间', `remarks` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '备注信息', `del_flag` char(1) COLLATE utf8_bin NOT NULL DEFAULT '0' COMMENT '删除标记(0:正常;1:删除)', `type` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '产品类型', PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
3.最后将product前五条数据的数据分配给product2、将product的后两天数据分配给product3
INSERT INTO product2( product2.id,product2.code,product2.sku, product2.name,product2.full_name,product2.short_name, product2.english_name,product2.spec,product2.shelf_life, product2.ctn_gtin,product2.pcs_gtin,product2.type_id, product2.active,product2.pcs_per_ctn,product2.ctn_per_plt, product2.barcode,product2.jde_code,product2.create_date,product2.create_by, product2.update_date,product2.remarks,product2.del_flag, product2.type)SELECT product.id,product.code,product.sku, product.name,product.full_name,product.short_name, product.english_name,product.spec,product.shelf_life, product.ctn_gtin,product.pcs_gtin,product.type_id, product.active,product.pcs_per_ctn,product.ctn_per_plt, product.barcode,product.jde_code,product.create_date,product.create_by, product.update_date,product.remarks,product.del_flag, product.type FROM product limit 5INSERT INTO product3( product3.id,product3.code,product3.sku, product3.name,product3.full_name,product3.short_name, product3.english_name,product3.spec,product3.shelf_life, product3.ctn_gtin,product3.pcs_gtin,product3.type_id, product3.active,product3.pcs_per_ctn,product3.ctn_per_plt, product3.barcode,product3.jde_code,product3.create_date,product3.create_by, product3.update_date,product3.remarks,product3.del_flag, product3.type)SELECT product.id,product.code,product.sku, product.name,product.full_name,product.short_name, product.english_name,product.spec,product.shelf_life, product.ctn_gtin,product.pcs_gtin,product.type_id, product.active,product.pcs_per_ctn,product.ctn_per_plt, product.barcode,product.jde_code,product.create_date,product.create_by, product.update_date,product.remarks,product.del_flag, product.type FROM product order by id desc limit 2
`
参考:http://blog.51yip.com/mysql/949.html
0 0
- mysql 分表,分库
- mysql分库 分表
- MYSQL分表优化
- mysql分表
- Mysql分表例子
- Mysql分表准则
- mysql分表
- mysql分表
- Mysql水平分表
- 浅谈mysql分表
- mysql分表
- mysql分表,分区
- MySQL数据库分表
- mysql 分表操作
- mysql分表方案
- mysql分表方案
- mysql分表
- mysql分表
- Material Design系列风格控件之(二)----NavigationView和DrawerLayout实现侧滑菜单栏
- Linux export的作用
- pandas的基本用法(五)——导入导出数据
- svn在线安装
- 【java】数字三角形最长路径
- mysql分表
- js部分使用的英语
- NG编程作业精解
- Portlet名字的国际化
- 杨辉三角
- K倍区间
- 基于ARM嵌入式射频识别学生安全系统
- 微信公众平台开发入门教程
- host与VMware通信的三种方式