分表操作

最近更新时间: 2024-06-12 15:06:00

插入数据

insert 字段必须包含分表键(shardkey),否则会拒绝执行。 向刚刚建立的表中插入数据,代码示例如下:

mysql> insert into test1(id,name) values (1,'Alice');
Query OK,1 rows affected(0.08 sec)

-- 未指定shardkey情况
mysql> insert into test1(name,addr) values('example','shenzhen');
ERROR 7013 (HY000): Proxy ERROR:get_shardkeys return error

查询数据

查询数据时,最好带上分表键(shardkey),proxy网关将自动路由到对应分片,此时效率最高。否则,会自动全表扫描,然后在网关进行结果聚合,效率较低。

查询数据代码示例如下:

mysql> select id from test1 where id=1;

删除数据

delete 必须带有 where 条件,where 条件建议带上分表键。 删除代码示例如下:

mysql> delete from test1 where id=1;
Query OK, 1 row affected (0.02 sec)

建表

分表为例,建分表时,需指明分表键(shardkey),代码示例如下:

mysql> create table test1(id int primary key,name varchar(20),addr varchar(20))shardkey=id;
Query OK,0 rows affected(0.15 sec)