zoukankan      html  css  js  c++  java
  • Atlas 分表功能

    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)
    
  • 相关阅读:
    grape入门
    半个小时写的一个二叉搜索树,实现了增,删,查功能
    Struts2 MVC 同 Spring MVC 的比较
    阿里巴巴 2016 java 实习岗位笔试题(昨天出炉)
    自己用20分钟java实现的单向链表(含有增删改查操作)
    关于 古人劝学 --写的真心是好 真的有收获
    JDK动态代理堆栈图详解--干货
    论闷声挣大钱与网红现象
    spring beanfactory --实现自己简单的 bean工厂类
    Spring IOC example one
  • 原文地址:https://www.cnblogs.com/Applogize/p/13442701.html
Copyright © 2011-2022 走看看