我的MySQL表有超过30 MM的记录。
密钥查询的速度非常慢,所以我决定使用分区。 之后,它变得更快,但今天我正在检查分区,出了点问题。
我按键完成了16个分区,密钥是uniqid()所以它们是唯一的,但有点顺序。
当我检查每个分区有多少条记录时,它就像
分区0 - 3.5 MM
分区1 - 0
分区2 - 3.2 MM
分区3 - 0
分区4 - 8.5 MM
分区5 - 0
分区6 - 2.9 MM
分区7 - 0
等等
我不在乎一个分区比其他分区多两三倍,但我不明白为什么1,3,5,7,9,11,13,15分区为零记录。所以16个分区中有8个是空的。
我认为这可能是由于序列号所以我将密钥更改为md5唯一值,因此每个数据都以随机数据开头,但模式相同,8个分区处理所有数据,其他8个是完全是空的。
为什么会发生这种情况,我该怎么做才能解决这个问题?
谢谢!