IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:Hash分区

共 1 篇相关文章

IT 累计浏览 4,226

Oracle hash分区的秘密

这篇讲的是Oracle hash分区的一个核心秘密:为何分区数推荐为2的次方,以及它如何在增加分区时避免全量数据迁移。作者从面试常见问题切入,剖析了Oracle的实现技巧。 关键在于,Oracle并非在运行时动态计算哈希,而是预先使用大于等于当前分区数的最小2的N次方作为“桶”的数量。例如,6个分区实际对应8个哈希桶,多余的数据被合并到现有分区中,这就造成了数据分布不均衡。当增加分区时(比如从6增至8),并非重新哈希所有数据,而是对特定分区执行split操作,将原先合并的桶数据拆分出来,其他分区的数据因此保持不变。 理解了这一点,也就明白了减少分区是merge而非drop。作者最后分享了自己项目中的务实方案:直接预分1024个分区分布到8台主机,后续扩展只需移动表和修改映射,思路异曲同工。