分表原因

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. 转发:[服务器]SSL安装证书教程

    [服务器]SSL安装证书教程   来自阿里云教程 Tomcat服务器安装SSL证书 安装PFX格式证书 https://help.aliyun.com/document_detail/98576.ht ...

  2. Objects as Points:预测目标中心,无需NMS等后处理操作 | CVPR 2019

    论文基于关键点预测网络提出CenterNet算法,将检测目标视为关键点,先找到目标的中心点,然后回归其尺寸.对比上一篇同名的CenterNet算法,本文的算法更简洁且性能足够强大,不需要NMS等后处理 ...

  3. ABAP program lines are wider than the internal table

    错误详细描述: An exception occurred that is explained in detail below.The exception, which is assigned to ...

  4. [java]文件上传下载删除与图片预览

    图片预览 @GetMapping("/image") @ResponseBody public Result image(@RequestParam("imageName ...

  5. expect的使用

    1. expect概述 1.1 expect的功能 脚本执行时,有时会需要人工进行交互输入,这时可以通过expect工具来实现自动交互. expect是一种shell解释器,但是expect可以在命令 ...

  6. 学习es6构造函数的第一天

    什么是面向对象 编程思维分为,面向过程和面向对象 面向过程就像一个人,一间屋子,一个床 一个人走进了屋子,上了床 二面向对象 人,屋子,床 可以是屋子里进了一个人,上了床 或者,屋子里的床上有一个人 ...

  7. (Shell)Shell命令整理

    目录 常用命令 1. 上传.下载 2. 删除文件和文件夹 3. 目录操作 4. 文件的操作 4.vim 为新添加的文件后缀支持语法高亮 常用命令 1. 上传.下载 上传文件:rz,然后回车弹出上传文件 ...

  8. How to kill go routine?

    How to kill go routine? https://stackoverflow.com/questions/37997608/kill-a-method-in-an-infinite-lo ...

  9. 文件系统层次结构标准 Linux 系统目录结构

    https://zh.wikipedia.org/wiki/文件系统层次结构标准 多数Linux发行版遵从FHS标准并且声明其自身政策以维护FHS的要求. [3] [4] [5] [6] 但截至200 ...

  10. 【Redis 分布式锁】(1)一把简单的“锁”

    原文链接:https://www.changxuan.top/?p=1230 在单体架构向分布式集群架构演进的过程中,项目中必不可少的一个功能组件就是分布式锁.在开发团队有技术积累的情况下,做为团队的 ...