Skip to content

Atlas的分表功能简介

lixingming edited this page Apr 25, 2014 · 2 revisions

1.使用Atlas的分表功能时,首先需要在配置文件(test.cnf)设置tables参数。

2.tables参数设置格式:数据库名.表名.分表字段.子表数量,比如你的数据库名叫school,表名叫stu,分表字段叫id,总共分为100张表,那么就写为school.stu.id.100,如果还有其他的分表,以逗号分隔即可。用户需要手动建立100张子表(stu_0,stu_1,…stu_99,注意子表序号是从0开始的)。且所有的子表必须在DB的同一个database里。

3.当通过Atlas执行(SELECT、DELETE、UPDATE、INSERT、REPLACE)操作时,Atlas会根据分表结果(id%100=k),定位到相应的子表(stu_k)。例如,执行select * from stu where id=110;,Atlas会自动从stu_10这张子表返回查询结果。但如果执行SQL语句(select * from stu;)时不带上id,则会提示执行stu 表不存在。

4.Atlas暂不支持自动建表和跨库分表的功能。

5.Atlas目前支持分表的语句有SELECT、DELETE、UPDATE、INSERT、REPLACE。