JAVA全系列 教程
3762个小节阅读:7090.6k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
上面谈到垂直切分只是把表按模块划分到不同数据库,但没有解决单表大数据量的问题。
相对于垂直拆分,水平拆分不是将表做分类,而是按照某个字段的某种规则来分散到多个库之中,每个表中包含一部分数据。
理解:
我们可以将数据的水平切分理解为是按照数据行的切分,就是将表中的某些行切分到一个数据库,而另外的某些行又切分到其他的数据库中。
1、创建商品分类表 ProductClass
xxxxxxxxxx
CREATE TABLE `ProductClass` (
`id` bigint(20) NOT NULL,
`className` varchar(40) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
dbpartition BY mod_hash(`id`)
tbpartition BY mod_hash(`id`)
tbpartitions 3 dbpartitions 1;
通过id进行分片,分成1个数据库3张表。
2、进行数据存储测试
xxxxxxxxxx
INSERT INTO `ProductClass` VALUES (1, '手机');
INSERT INTO `ProductClass` VALUES (2, '电脑');
INSERT INTO `ProductClass` VALUES (3, '耳机');
INSERT INTO `ProductClass` VALUES (4, '小米手环');
INSERT INTO `ProductClass` VALUES (5, '摄像头');
INSERT INTO `ProductClass` VALUES (6, 'ipad');
INSERT INTO `ProductClass` VALUES (7, '电风扇');
INSERT INTO `ProductClass` VALUES (8, '冰箱');
1.Mycat技术中水平拆分主要解决___问题。
A 表字段多
B 表数据量大
C 兼容
D 并发
1=>B