我有两个表: userMessages 和 userStatistics
我意识到我需要设置一个分区以确保效率。有了我可以收集的所有信息,我想使用HASH分区。
PARTITION BY HASH(user_id) PARTITIONS 101
为什么我必须定义分区数?是否可以按用户数划分?我想分割每个用户的所有消息和统计信息。我应该使用什么分区号码?
以我的 userStatistics 为例。这将每天存储一个新条目,以捕获用户印象和点击等日常活动...我希望这个数据库随着时间的推移变得非常大。我希望它在一年内非常大(> 100万行)。我正在考虑使用索引为每个用户创建单独的表,但是被告知使用HASH进行分区。处理这种情况的最佳方法是什么?
答案 0 :(得分:0)
HASH
分区不会提供任何效率。实际上,只有少数RANGE
分区可以提供任何效率。我怀疑你的用例不适用。见http://mysql.rjweb.org/doc.php/partitionmaint
如果您想辩论此问题,请进一步描述您的用例。