我有一个mysql 5.5服务器,带有一个我想分区的大(~150M记录)innodb表。
如何确定表的最佳分区数?
该表是一个“多对多”连接表,只包含两个int列(aId,bId),
aId大致在1..1,000,000的范围内接收值 bId接收的值大致在1..10,000,000
的范围内大多数查询首先查找aId。
该表有两个索引: 初级(aId,bId) 指数(BID)
而且,问题是如何确定表的最佳分区数?
由于
答案 0 :(得分:0)
如果您不想逻辑地构建数据,那么最佳分区数与服务器上的核心数相同。这将有助于多个并发查询。由于使用主索引,单个查询将同时运行。
我建议将您的第二个索引更改为index (bld,ald)
,因此bld to ald查询只能使用index来获取ald值,而无需转到数据库。