Atlas 分表功能

2022-06-21 23:09:19 字數 2872 閱讀 4854

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)

Atlas 分表功能

目錄1.資料過多,訪問緩慢 2.建立索引時重新排序,建立緩慢,並且占用大量的磁碟空間 1.根據資料範圍分表 2.根據取模的方式 取餘數 1.確定分表的庫,表,字段 2.確定分表的數量 3.分表的名字,stu 0,stu 1,stu 2 4.配置檔案配置分表的規則 5.測試 root db03 vim...

Atlas系列一 Atlas功能特點FAQ

1 atlas是否支援多字符集?支援,可以在test.cnf中指定。預設字符集,設定該項後客戶端不再需要執行set names語句 charset utf8 2 atlas是否支援事物操作?支援,處於事物狀態的客戶端中途退出時,atlas會銷毀該客戶端的連線,讓後台mysql回滾事物,保證事物的完整...

Vue列表功能

用vue實現了列表功能,無資料時新增提示,新增item,刪除item,按關鍵字篩選item 搜尋 編號 名稱建立時間 操作列表無資料 刪除 table table th table tr td form form buttonvar vm new vue 使用者新增的資料 formdata keyw...