Atlas 分表功能
阿新 • • 發佈:2020-08-05
1.分表原因
1.資料過多,訪問緩慢
2.建立索引時重新排序,建立緩慢,並且佔用大量的磁碟空間
2.分表方式
1.根據資料範圍分表
2.根據取模的方式(取餘數)
3.Atlas分表
1.分表思路
1.確定分表的庫,表,欄位
2.確定分表的數量
3.分表的名字,stu_0,stu_1,stu_2
4.配置檔案配置分表的規則
5.測試
2.配置 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
3.建立原表
# 連線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)
4.建立分表
# 建立分表,表名要保證如下格式,否則報錯 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)
5.資料測試
# 插入資料 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)