centos7-mysql-分表
admin
2023-05-26 09:41:47
0

 数据库越来越大,单个表中数据过多,查询读写,还有锁机制,会导致严重的数据库性能影响.
表锁,行锁,都是为了保证数据的完整性,
分表
分表是把一个大表,分成若干个独立储存空间的表,每个表都对应MYD数据文件,MYI索引文件,FRM表结构文件,这些表可以分布在一个存储设备,也可以分在不同存储设备.
相当于一个表变为多个表,如果这时候有APP已经在使用中,而且会对原表进行操作等等,需要开发修改代码,因为原来的一个表已经分成好几个,按照原来的表肯定是搜索不到的.
将单表拆分,再根据一定算法,就可以将数据分散到多个表中,对数据量大的数据库,会有明显的提升,
减少数据库负担,缩短查询时间,这是分表的主要目的
mysql分表-分为垂直切分,和水平切分.
垂直切分是按照列切分,水平就是行切分(需求不同自行挑选)
垂直切分
一般垂直切分都是把经常查询的列单独分到一张表中,方便查询
水平拆分
表的数据非常庞大,可以分成多个表,提高查询效率
--------------------------------------------------------------------------------------------------------
分表的几种方式
1-mysql集群
这个不是分表但是也是相同的作用,任务分担到多台mysql数据库
2-预先估计表的访问量,提前分为若干表,以防万一
根据一定算法,将数据分散到不同表中.
3-利用merge存储引擎来分表
 merge只能用在myisam上进行分表.
merge分为主表跟子表,主表中是子表的位置,如果使用myisam来分表的话APP可以不需要修改连接数据的信息,还是可以直接从主表中查询.
做一个merge的实例
create database gao;
use gao;
create table gao(
id bigint auto_increment primary key,
name varchar(20), 
sex tinyint not null default '0') 
engine=myisam default charset=utf8 auto_increment=1;
批量加入数据
insert into gao(name,sex) values('gao',1);
insert into gao(name,sex)select name,sex from gao;  将查询到的数据插入,所以,数据都一样只是测验用
开始进行分表,首先创建两个子表
use gao;
drop table if exists gao_1;
create table gao_1(
id bingint primary key,
name varchar(20)
sex tinyint not null default '0')
engine=myisam default charset=utf8;
因为第二个表跟上面的一模一样除了名字
create table gao_2 like gao_1;
创建主表
drop table if exists mastergao;
create table mastergao(
id bigint primary key  auto_increment ,
name varchar(20),
sex tinyint not null default '0')
engine=mergeunion=(gao_1,gao_2) insert_method=last charset=utf8 auto_increment=1;
insert_method = last 表示茶如道最后一张表  first 表示插入到第一张表
数据导入到两个子表当中.
insert into gao_1(id,name,sex) select id,name,sex  from gao where id%2=1;
insert into gao_2(id,name,sex) select id,name,sex from gao where id%2=0;
id%2后的值单双导入到两个表中
这时候查询两个表跟主表,数据都有了就可以删除原来的gao将mastergao更改为gao即可.
alter table mastergao rename gao;完成
--------------------------------------------------------------------------------------------------------------

相关内容

热门资讯

事业编笔试第1名称遭第2名花钱... 近日,网传广东省雷州市特殊教育学校有关人员在教师招聘中存在违规行为,引发社会广泛关注。8月5日,广东...
印度乘客打车不付钱只笑嘻嘻说谢... 一段走红网络的视频显示,8月3日,一位印度乘客在越南搭乘出租车。车辆抵达目的地后,他却告诉司机,“我...
“如果美国能封锁AI,他们将再... “如果美国能在这里封锁AI,他们将再控制全球南方200年。”国际民众合作协会(IAPC)拉美协调员、...
黄河科技学院为新生送上“大礼包... 盛夏渐远,新程将至。黄河科技学院为2026级新生量身打造了一份涵盖经济帮扶、专业调整、学业提升与专属...
中科美菱获得实用新型专利授权:... 证券之星消息,根据天眼查APP数据显示中科美菱(920992)新获得一项实用新型专利授权,专利名为“...
华为史上续航最长平板发布!仅厚... 【CNMO科技消息】8月5日,华为MatePad Pro 12英寸平板正式发布,售价5999元起。 ...
移远通信获得实用新型专利授权:... 证券之星消息,根据天眼查APP数据显示移远通信(603236)新获得一项实用新型专利授权,专利名为“...
被呼吁辞职之际,因凡蒂诺与FI... 【环球网快讯】据法新社最新消息,国际足联(FIFA)主席因凡蒂诺当地时间周三(5日)在摩洛哥与FIF...
原创 S... ## 这是猎鹰9号火箭上面级箭体将与月球相撞的地点。这枚废弃火箭将以每小时5400英里(8700公...
“婚外胚胎案”当事妻子:胚胎若... 连日来,“妻子申请销毁丈夫婚外胚胎遭拒”一事持续引发网友的广泛关注。8月5日上午,扬子晚报/紫牛新闻...