MySQL按用户分区用户生成的行

时间:2016-01-14 04:51:09

标签: mysql partitioning

我有两个表: userMessages userStatistics

我意识到我需要设置一个分区以确保效率。有了我可以收集的所有信息,我想使用HASH分区。

PARTITION BY HASH(user_id) PARTITIONS 101

为什么我必须定义分区数?是否可以按用户数划分?我想分割每个用户的所有消息和统计信息。我应该使用什么分区号码?

更多上下文

以我的 userStatistics 为例。这将每天存储一个新条目,以捕获用户印象和点击等日常活动...我希望这个数据库随着时间的推移变得非常大。我希望它在一年内非常大(> 100万行)。我正在考虑使用索引为每个用户创建单独的表,但是被告知使用HASH进行分区。处理这种情况的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

HASH分区不会提供任何效率。实际上,只有少数RANGE分区可以提供任何效率。我怀疑你的用例不适用。见http://mysql.rjweb.org/doc.php/partitionmaint

如果您想辩论此问题,请进一步描述您的用例。