Atlas 分表功能
分表原因
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 分表功能的更多相关文章
- sharding-jdbc结合mybatis实现分库分表功能
最近忙于项目已经好久几天没写博客了,前2篇文章我给大家介绍了搭建基础springMvc+mybatis的maven工程,这个简单框架已经可以对付一般的小型项目.但是我们实际项目中会碰到很多复杂的场景, ...
- MySQL分表(Partition)学习研究报告
最近在开发一个新的项目,可能会产生大数据量,需要对部分表进行分表操作,故来研究学习MySQL的分表功能. 由于实验报告已经写成Exlce文件了,各位看过就直接下载吧:MySQL分表分析报告.xls 以 ...
- OneProxy分库分表演示--楼方鑫
OneProxy分库分表演示 (杭州平民软件有限公司) OneProxy是为MySQL精心设计的数据访问层,可以为任何开发语言提供对MySQL数据库的智能数据路由功能,比如单点切换.读写分离.分库分表 ...
- Mysql分表:Merge
merge是Mysql最简单的一种分表,Mysql自带的一个分表功能,Merge表并不保存数据,Merge表和分表是对应映射关系.demo: 创建分表:CREATE TABLE `user1` ( ` ...
- Mycat读写分离、主从切换、分库分表的操作记录
系统开发中,数据库是非常重要的一个点.除了程序的本身的优化,如:SQL语句优化.代码优化,数据库的处理本身优化也是非常重要的.主从.热备.分表分库等都是系统发展迟早会遇到的技术问题问题.Mycat是一 ...
- (转) MySQL分区与传统的分库分表
传统的分库分表 原文:http://blog.csdn.net/kobejayandy/article/details/54799579 传统的分库分表都是通过应用层逻辑实现的,对于数据库层面来说,都 ...
- 分库分表(4) ---SpringBoot + ShardingSphere 实现分表
分库分表(4)--- ShardingSphere实现分表 有关分库分表前面写了三篇博客: 1.分库分表(1) --- 理论 2.分库分表(2) --- ShardingSphere(理论) 3.分库 ...
- 分库分表(5) ---SpringBoot + ShardingSphere 实现分库分表
分库分表(5)--- ShardingSphere实现分库分表 有关分库分表前面写了四篇博客: 1.分库分表(1) --- 理论 2.分库分表(2) --- ShardingSphere(理论) 3. ...
- [NewLife.XCode]分表分库(百亿级大数据存储)
NewLife.XCode是一个有15年历史的开源数据中间件,支持netcore/net45/net40,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量 ...
随机推荐
- CTFshow萌新赛-web签到
打开靶机 查看页面信息 可以看到有一个system函数 在Linux中可以使用":"隔离不同的语句 payload如下 https://5105c8b6-83aa-4993-91b ...
- EnvironmentPostProcessor怎么做单元测试?阿里P7解答
简介 从Spring Boot 1.3开始,我们可以在应用程序上下文刷新之前使用EnvironmentPostProcessor来自定义应用程序的Environment.Environment表示当前 ...
- printf函数输出格式总结
printf函数格式 函数描述: printf("[格式化字符串]", [参数链表]); 函数声明: int printf(const char *format, ...) ; 输 ...
- Dubbo的设计理念原来就藏在这三张图中
Dubbo在众多的微服务框架中脱颖而出,占据RPC服务框架的半壁江山,非常具有普适性,熟练掌握 Dubbo的应用技巧后深刻理解其内部实现原理,让大家能更好的掌控工作,助力职场,特别能让大家在面试中脱颖 ...
- mysql InnoDB架构
1.InnoDB的磁盘结构 1)系统表空间 2)用户表空间 3)rodolog 文件组 4)磁盘文件逻辑结构 文件->段->区->页->行 InnoDB对数据的存取是以页为单位 ...
- Java中,那些关于String和字符串常量池你不得不知道的东西
老套的笔试题 在一些老套的笔试题中,会要你判断s1==s2为false还是true,s1.equals(s2)为false还是true. String s1 = new String("xy ...
- Python Debug工具
最近在github上冒出了一个python的debug神器PySnooper,号称在debug时可以消灭print.那么该工具有哪些优点呢,如何使用该工具呢.本文就介绍该工具的优缺点和使用方式. 前言 ...
- centos&linux
who am i 查看是哪一个用户 init 0关机 ifconfig用于配置网络或显示当前网络接口的状态 eth0是网卡的名字 第一行:flags后面的up指的是网卡处于运行状态,running连接 ...
- WPF TabControl美化
<Window.Resources> <!-- TabItem的样式 --> <Style TargetType="{x:Type TabItem}" ...
- 有状态(Stateful)应用的容器化 - 云+社区 - 腾讯云 https://cloud.tencent.com/developer/article/1020178
有状态(Stateful)应用的容器化 - 云+社区 - 腾讯云 https://cloud.tencent.com/developer/article/1020178