2

我有一个 mysql 5.5 服务器,其中有一个我想要分区的大(~150M 记录)innodb 表。

如何确定表的最佳分区数?

该表是一个“多对多”连接表,仅包含两个 int 列(aId、bId),

aId 接收的值大致在 1..1,000,000 的范围内 bId 接收的值大致在 1..10,000,000 的范围内

大多数查询首先查找 aId。

该表有两个索引:primary(aId, bId) index(bId)

同样,问题是如何确定表的最佳分区数?

谢谢

4

1 回答 1

0

如果您不想以逻辑方式构建数据,则最佳分区数与服务器上的核心数相同。这将有助于多个并发查询。由于使用主索引,单个查询将同时运行。

我建议将您的第二个索引更改为index (bld,ald),因此 bld 到 ald 查询只能使用索引来获取 ald 值,而无需访问数据库。

于 2013-05-29T12:46:48.140 回答