需求:随着数据量的增加单表已经不能很好的支持业务,千万级别数据查询缓慢 Mysql数据优化方案: 1、创建水平分表 user_1: 2、创建水平分表 user_2: 3、创建水平分表 user 4、新增添加分区 user_3 初始化数据 验证数据结果:通过 5、重新添加分区 参数说明 出现异常错误 问题定位: 官网地址:https://dev.mysql.com/doc/refman/8.0/en/merge-storage-engine.html
一:Myisam水平分区
-- 创建水平分表 create table user_1( id varchar(50) PRIMARY key COMMENT '主键id', user_name varchar(50) DEFAULT null COMMENT '用户名称', creator varchar(50) DEFAULT null COMMENT '创建者', create_date datetime DEFAULT null COMMENT '创建时间', updater varchar(50) DEFAULT null COMMENT '更新者', update_date datetime DEFAULT null COMMENT '更新时间' )ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户1表';
create table user_2( id varchar(50) PRIMARY key COMMENT '主键id', user_name varchar(50) DEFAULT null COMMENT '用户名称', creator varchar(50) DEFAULT null COMMENT '创建者', create_date datetime DEFAULT null COMMENT '创建时间', updater varchar(50) DEFAULT null COMMENT '更新者', update_date datetime DEFAULT null COMMENT '更新时间' )ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户2表';
-- 创建总表 create table user( id varchar(50) PRIMARY key COMMENT '主键id', user_name varchar(50) DEFAULT null COMMENT '用户名称', creator varchar(50) DEFAULT null COMMENT '创建者', create_date datetime DEFAULT null COMMENT '创建时间', updater varchar(50) DEFAULT null COMMENT '更新者', update_date datetime DEFAULT null COMMENT '更新时间' )ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8 INSERT_METHOD=LAST UNION=( `user_1`,`user_2`);
create table user_3( id varchar(50) PRIMARY key COMMENT '主键id', user_name varchar(50) DEFAULT null COMMENT '用户名称', creator varchar(50) DEFAULT null COMMENT '创建者', create_date datetime DEFAULT null COMMENT '创建时间', updater varchar(50) DEFAULT null COMMENT '更新者', update_date datetime DEFAULT null COMMENT '更新时间' )ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户3表';
-- 插入数据 insert into user_1(`id`,`user_name`,`create_date`,`update_date`) values ('1','张三',now(),now()); insert into user_1(`id`,`user_name`,`create_date`,`update_date`) values ('2','李四',now(),now()); insert into user_2(`id`,`user_name`,`create_date`,`update_date`) values ('1','王五',now(),now()); insert into user_3(`id`,`user_name`,`create_date`,`update_date`) values ('3','赵六3',now(),now()); insert into user(`id`,`user_name`,`create_date`,`update_date`) values ('4','老赵1',now(),now());
alter table user UNION=(`user_1`,`user_2`,`user_3`);
1:分表ENGINE必须为:MyISAM,总表必须为MRG_MyISAM 2:INSERT_METHOD:向总表插入数据默认到哪个位置取值: 0:不允许插入 1:允许插入 FIRST:merge的第一张表 LAST:merge的最后一张表
1168 - Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算