日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

何時選擇HASH分區(qū)

對于分布規(guī)則不明顯的數(shù)據(jù),并沒有明顯的范圍查找等特征,可以使用HASH分區(qū),將數(shù)據(jù)分區(qū)列的值按照HASH算法打散到不同的分區(qū)上,將數(shù)據(jù)隨機(jī)分布到各個分區(qū)。

使用HASH分區(qū)的目的如下:

  • 使分區(qū)間數(shù)據(jù)分布均勻,分區(qū)間可以并行訪問;

  • 根據(jù)分區(qū)鍵使用分區(qū)修剪,基于分區(qū)鍵的等值查詢開銷減小;

  • 隨機(jī)分布數(shù)據(jù),以避免I/O瓶頸。

分區(qū)鍵的選擇一般要滿足以下要求:

  • 選擇唯一或幾乎唯一的列或列的組合;

  • 為每個2的冪次分區(qū)創(chuàng)建多個分區(qū)和子分區(qū)。例如:2、4、8、16、32、64、128等。

示例:使用列c_custkey作為分區(qū)鍵為表customer創(chuàng)建4個HASH分區(qū)。

CREATE TABLE `customer` (
  `c_custkey` int(11) NOT NULL,
  `c_name` varchar(25) DEFAULT NULL,
  `c_address` varchar(40) DEFAULT NULL,
  `c_nationkey` int(11) DEFAULT NULL,
  `c_phone` char(15) DEFAULT NULL,
  `c_acctbal` decimal(10,2) DEFAULT NULL,
  `c_mktsegment` char(10) DEFAULT NULL,
  `c_comment` varchar(117) DEFAULT NULL,
  PRIMARY KEY (`c_custkey`),
  KEY `i_c_nationkey` (`c_nationkey`)
) ENGINE=InnoDB
PARTITION BY HASH(c_custkey)
( PARTITION p1,
  PARTITION p2,
  PARTITION p3,
  PARTITION p4
);

指定HASH分區(qū)的數(shù)量將自動生成各個分區(qū)的內(nèi)部名稱。示例如下:

CREATE TABLE `customer` (
  `c_custkey` int(11) NOT NULL,
  `c_name` varchar(25) DEFAULT NULL,
  `c_address` varchar(40) DEFAULT NULL,
  `c_nationkey` int(11) DEFAULT NULL,
  `c_phone` char(15) DEFAULT NULL,
  `c_acctbal` decimal(10,2) DEFAULT NULL,
  `c_mktsegment` char(10) DEFAULT NULL,
  `c_comment` varchar(117) DEFAULT NULL,
  PRIMARY KEY (`c_custkey`),
  KEY `i_c_nationkey` (`c_nationkey`)
) ENGINE=InnoDB
PARTITION BY HASH (`c_custkey`)
PARTITIONS 64;