分表原因

1.数据过多,访问缓慢

2.创建索引时重新排序,创建缓慢,并且占用大量的磁盘空间

分表方式

1.根据数据范围分表

2.根据取模的方式(取余数)

Atlas 分表

分表思路

1.确定分表的库,表,字段
2.确定分表的数量
3.分表的名字,stu_0,stu_1,stu_2
4.配置文件配置分表的规则
5.测试

配置 Atlas

[root@db03 ~]# vim /usr/local/mysql-proxy/conf/test.cnf
#分表设置,此例中school为库名,stu为表名,id为分表字段,3为子表数量,可设置多项,以逗号分隔,若不分表则不需要设置该项
tables = school.stu.id.3 # 重启 Atlas
[root@db03 ~]# /usr/local/mysql-proxy/bin/mysql-proxyd test restart
OK: MySQL-Proxy of test is stopped
OK: MySQL-Proxy of test is started

创建原表

# 连接Atlas负载数据库
[root@db03 ~]# mysql -umha -pmha -h127.0.0.1 -P 1234 # 创建数据库
mysql> create database school;
Query OK, 1 row affected (0.00 sec) # 创建数据表
mysql> use school
Database changed
mysql> create table stu(id int,name varchar(10));
Query OK, 0 rows affected (0.13 sec)

创建分表

# 创建分表,表名要保证如下格式,否则报错
mysql> create table stu_0 like stu;
Query OK, 0 rows affected (0.08 sec) mysql> create table stu_1 like stu;
Query OK, 0 rows affected (0.03 sec) mysql> create table stu_2 like stu;
Query OK, 0 rows affected (0.03 sec)

数据测试

# 插入数据
mysql> insert into stu values(1,'wqh');
Query OK, 1 row affected (0.01 sec) mysql> insert into stu values(2,'wqh');
Query OK, 1 row affected (0.00 sec) mysql> insert into stu values(3,'wqh3');
Query OK, 1 row affected (0.01 sec) mysql> insert into stu values(11,'wqh3');
Query OK, 1 row affected (0.01 sec) mysql> insert into stu values(12,'wqh3');
Query OK, 1 row affected (0.00 sec) mysql> insert into stu values(13,'wqh3');
Query OK, 1 row affected (0.02 sec) # 查看数据
mysql> select * from stu;
Empty set (0.00 sec) mysql> select * from stu_0;
+------+------+
| id | name |
+------+------+
| 3 | wqh3 |
| 12 | wqh3 |
+------+------+
2 rows in set (0.03 sec) mysql> select * from stu_1;
+------+------+
| id | name |
+------+------+
| 1 | wqh |
| 13 | wqh3 |
+------+------+
2 rows in set (0.00 sec) mysql> select * from stu_2;
+------+------+
| id | name |
+------+------+
| 2 | wqh |
| 11 | wqh3 |
+------+------+
2 rows in set (0.00 sec) # 如果想查看原表数据,需要加 where条件
mysql> select * from stu where id=1;
+------+------+
| id | name |
+------+------+
| 1 | wqh |
+------+------+
1 rows in set (0.00 sec)

Atlas 分表功能的更多相关文章

  1. sharding-jdbc结合mybatis实现分库分表功能

    最近忙于项目已经好久几天没写博客了,前2篇文章我给大家介绍了搭建基础springMvc+mybatis的maven工程,这个简单框架已经可以对付一般的小型项目.但是我们实际项目中会碰到很多复杂的场景, ...

  2. MySQL分表(Partition)学习研究报告

    最近在开发一个新的项目,可能会产生大数据量,需要对部分表进行分表操作,故来研究学习MySQL的分表功能. 由于实验报告已经写成Exlce文件了,各位看过就直接下载吧:MySQL分表分析报告.xls 以 ...

  3. OneProxy分库分表演示--楼方鑫

    OneProxy分库分表演示 (杭州平民软件有限公司) OneProxy是为MySQL精心设计的数据访问层,可以为任何开发语言提供对MySQL数据库的智能数据路由功能,比如单点切换.读写分离.分库分表 ...

  4. Mysql分表:Merge

    merge是Mysql最简单的一种分表,Mysql自带的一个分表功能,Merge表并不保存数据,Merge表和分表是对应映射关系.demo: 创建分表:CREATE TABLE `user1` ( ` ...

  5. Mycat读写分离、主从切换、分库分表的操作记录

    系统开发中,数据库是非常重要的一个点.除了程序的本身的优化,如:SQL语句优化.代码优化,数据库的处理本身优化也是非常重要的.主从.热备.分表分库等都是系统发展迟早会遇到的技术问题问题.Mycat是一 ...

  6. (转) MySQL分区与传统的分库分表

    传统的分库分表 原文:http://blog.csdn.net/kobejayandy/article/details/54799579 传统的分库分表都是通过应用层逻辑实现的,对于数据库层面来说,都 ...

  7. 分库分表(4) ---SpringBoot + ShardingSphere 实现分表

    分库分表(4)--- ShardingSphere实现分表 有关分库分表前面写了三篇博客: 1.分库分表(1) --- 理论 2.分库分表(2) --- ShardingSphere(理论) 3.分库 ...

  8. 分库分表(5) ---SpringBoot + ShardingSphere 实现分库分表

    分库分表(5)--- ShardingSphere实现分库分表 有关分库分表前面写了四篇博客: 1.分库分表(1) --- 理论 2.分库分表(2) --- ShardingSphere(理论) 3. ...

  9. [NewLife.XCode]分表分库(百亿级大数据存储)

    NewLife.XCode是一个有15年历史的开源数据中间件,支持netcore/net45/net40,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量 ...

随机推荐

  1. 记录Js动态加载页面.append、html、appendChild、repend添加元素节点不生效以及解决办法

    今天再优化blog页面的时候添加了个关注按钮和图片,但是页面上这个按钮和图片时有时无,本来是搞后端的,被这个前端的小问题搞得抓耳挠腮的! 网上各种查询解决方案,把我解决问题的艰辛历程分享出来,希望大家 ...

  2. 05--Docker对DockerFile解析

    一.是什么: 1.1 DockerFile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本 1.2 构建步骤: 1.2.1 编写Dockerfile文件 1.2.2 docker ...

  3. 【原创】Linux虚拟化KVM-Qemu分析(八)之virtio初探

    背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: KVM版本:5.9 ...

  4. 【Android初级】使用TypeFace设置TextView的文字字体(附源码)

    在Android里面设置一个TextView的文字颜色和文字大小,都很简单,也是一个常用的基本功能.但很少有设置文字字体的,今天要分享的是通过TypeFace去设置TextView的文字字体,布局里面 ...

  5. 两种方式,花五分钟就能构建一个 Spring Boot 应用

    前言 Spring Boot 的好处自然不必多说,对于想要从事 Java 工作的朋友们来说,可谓是必学的技能. 在我看来,它的优势就是多快好省. 功能多,很多常用的能力都有集成: 接入快,简单的几行代 ...

  6. Caffeine 缓存库

    介绍 Caffeine是一个基于Java8开发的提供了近乎最佳命中率的高性能的缓存库. 缓存和ConcurrentMap有点相似,但还是有所区别.最根本的区别是ConcurrentMap将会持有所有加 ...

  7. LinuxCentos7下安装Mysql8.x以及密码修改

    LinuxCentos7下安装Mysql以及密码修改 引言: 之前都是用Docker或者yum自动安装,这次主要是下载压缩包解压安装,中间也有些小波折,记录如下,以供参考: 1.删除旧的MySQL 检 ...

  8. Java 执行过程中的内存模型

    一.前言 本文的主要工作:尝试以时间顺序追踪一遍 Java 执行的整个过程,以及展示 JVM 中内存模型的相应变化. 本文的主要目的:希望能够通过 Java 执行过程的冰山一角,增进对编程语言工作原理 ...

  9. 存储型XSS

    DVWA系列(二)存储型XSS https://www.imooc.com/article/284686 网络安全:存储型XSS https://blog.csdn.net/qq_41500251/a ...

  10. lodash的debounce函数的使用

    最新,在react新项目的开发中使用到了lodash类库的debounce方法,就随手梳理了一下此方法的方便之处 未使用debounce之前 如果不考虑使用debounce,那么在用户连续点击的情况之 ...