想请教一些业务相关的设计方法。
以前用 Mysql 存数据的时候,如果数据量比较大,最常用的是 range 分区方法,
比如主键范围 1-100 万,那么每 25 万分一个区,一共四个区。
现在想要一种特性是,根据业务数据自动分区,比如主键持续增加,我希望每新增 25 万数据,自动新增一个分区。
再或者一种分区方式是,主键整除 10 取余,余数 0 到 9 的统一分到一个区,共计十个区。
再或者,依据某个业务列分区,比如一百万数据当中,总共只有 10 个人的数据,用 pid 表示这个人的代号,根据 pid 分区,然后每当新增一个人,自动新增一个分区,比如当业务上添加第 11 个人以后,数据库新增一个 11 号分区。
以上这几种都是希望根据业务的变化动态分区,并且尽量保证分区大小比较平均,让搜索效率变高。这几种分区方式有办法实现吗?大佬指点一下 Mysql 写法,当然最好是 Oracle,现在基本在用 Oracle 了