Mysql 和 Oracle 的花式分区方法

2020 年 12 月 27 日
 LeeReamond

想请教一些业务相关的设计方法。

以前用 Mysql 存数据的时候,如果数据量比较大,最常用的是 range 分区方法,

比如主键范围 1-100 万,那么每 25 万分一个区,一共四个区。

现在想要一种特性是,根据业务数据自动分区,比如主键持续增加,我希望每新增 25 万数据,自动新增一个分区。

再或者一种分区方式是,主键整除 10 取余,余数 0 到 9 的统一分到一个区,共计十个区。

再或者,依据某个业务列分区,比如一百万数据当中,总共只有 10 个人的数据,用 pid 表示这个人的代号,根据 pid 分区,然后每当新增一个人,自动新增一个分区,比如当业务上添加第 11 个人以后,数据库新增一个 11 号分区。

以上这几种都是希望根据业务的变化动态分区,并且尽量保证分区大小比较平均,让搜索效率变高。这几种分区方式有办法实现吗?大佬指点一下 Mysql 写法,当然最好是 Oracle,现在基本在用 Oracle 了

820 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/739384

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX