【问题标题】:Msql Partitioning - Key vs Hash vs List vs RangeMysql 分区 - 键 vs 哈希 vs 列表 vs 范围
【发布时间】:2011-06-28 05:47:25
【问题描述】:

我浏览了mysql的一些文档,但无法理解以下分区方式的区别:Key vs Hash vs List vs Range。有人可以用纯英文解释吗?

我们还有下表:我们如何按forum_id进行分区?

CREATE TABLE IF NOT EXISTS `posts_content` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `post_id` int(11) NOT NULL,
  `forum_id` int(11) NOT NULL,
  `content` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=79850 ;

谢谢你

【问题讨论】:

    标签: mysql scaling partitioning


    【解决方案1】:

    key和hash表示记录是随机分布的,比如你为forum_id定义了3个partition,那么forum_id 1,3和7的记录可能去partition 1,for 2和4去partition 2, and为 5 和 6 分区 3。 在列表和范围中,您可以定义哪些数据进入哪个分区,如果您基于日期进行分区,则它们是首选,以确保所有最近的帖子都在同一个分区上。通常,您必须避免使用多个分区的查询。因此,您首先要了解您的数据访问模式,然后才能选择正确的分区类型。

    【讨论】:

      猜你喜欢
      • 2023-03-31
      • 2010-09-27
      • 1970-01-01
      • 2023-04-11
      • 2011-03-09
      • 2019-06-20
      • 2020-07-26
      • 2015-03-21
      • 1970-01-01
      相关资源
      最近更新 更多