mysql表分区问题

douya_love 发布于 2013/05/08 10:06
阅读 549
收藏 1

有2个这方面的问题

1. 如果表中有数据了,还可以对这张表进行分区嘛,如果可以,函数应该怎么写

2.我想对一张表的主键uid进行分区,不过分区的标准是按照uid最后一位数的大小 分成 0-9 这几个区,这种分区可以做到嘛,应该怎么写函数。。。  求大神

加载中
0
八楼有鬼
八楼有鬼
试试利用merge存储引擎来实现分表
0
缪斯的情人
缪斯的情人

1.应该不可以,以前找过类似解决办法没实现

2.

PARTITION BY RANGE (RIGHT(uid,1))

douya_love
douya_love
昨天解决问题了,可以分区,alter table XXX partition by hash(uid) partitions 10; 2个问题都解决了 谢谢你们
0
酒逍遥
酒逍遥

1、有数据了 也可以进行分区的.(之前刚分过)

2、应该是可以的...主要是函数的写法

douya_love
douya_love
alter table XXX partition by hash(uid) partitions 10; 可以解决这2个问题,已找到解决办法,供参考
0
狮子的魂
狮子的魂

在数据库层的话那就不好办了.

可以试着吧分区计算移到逻辑层来: 那这些都不是问题了.

1. 对于已经有数据的表, 记下主键Id值=x, 查询的时候当Id<=x就查询不动, Id >x 就使用分区定位.

2. uid % 10 即可取到数据表或者数据服务器索引. 

douya_love
douya_love
alter table XXX partition by hash(uid) partitions 10; 供参考
0
angelboy
angelboy
跨分区查询的话准备死翘翘吧
返回顶部
顶部