溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL數(shù)據(jù)庫管理之如何創(chuàng)建分區(qū)表

發(fā)布時間:2020-05-13 14:47:53 來源:億速云 閱讀:335 作者:三月 欄目:MySQL數(shù)據(jù)庫

下面一起來了解下MySQL數(shù)據(jù)庫管理之如何創(chuàng)建分區(qū)表,相信大家看完肯定會受益匪淺,文字在精不在多,希望MySQL數(shù)據(jù)庫管理之如何創(chuàng)建分區(qū)表這篇短內(nèi)容是你想要的。                                                          

創(chuàng)建分區(qū)表
mysql> CREATE TABLE `LINEITEM` (
L_SHIPDATE DATE NULL,
L_ORDERKEY INT NOT NULL,
L_DISCOUNT DECIMAL(10,2) NOT NULL,
L_EXTENDEDPRICE DECIMAL(10,2) NOT NULL,
L_SUPPKEY INT NOT NULL,
L_QUANTITY INT NOT NULL,
L_RETURNFLAG CHAR(1) BINARY NULL,
L_PARTKEY INT NOT NULL,
L_LINESTATUS CHAR(1) BINARY NULL,
L_TAX DECIMAL(10,2) NOT NULL,
L_COMMITDATE DATE NULL,
L_RECEIPTDATE DATE NULL,
L_SHIPMODE CHAR(10) BINARY NULL,
L_LINENUMBER INT NOT NULL,
L_SHIPINSTRUCT CHAR(25) BINARY NULL,
L_COMMENT VARCHAR(44) BINARY NULL,
PRIMARY KEY (`L_ORDERKEY`, `L_LINENUMBER`,`L_SHIPDATE`)
) PARTITION BY RANGE COLUMNS (L_SHIPDATE) (
    PARTITION p0 VALUES LESS THAN ('1993-01-01'),
    PARTITION p1 VALUES LESS THAN ('1994-01-01'),
    PARTITION p2 VALUES LESS THAN ('1995-01-01'),
    PARTITION p3 VALUES LESS THAN ('1996-01-01'),
    PARTITION p4 VALUES LESS THAN ('1997-01-01'),
    PARTITION p5 VALUES LESS THAN ('1998-01-01'),
    PARTITION p6 VALUES LESS THAN ('1999-01-01'),
    PARTITION p7 VALUES LESS THAN (MAXVALUE)
)

刪除
mysql> ALTER TABLE lineitem DROP PARTITION p7;

增加
mysql> ALTER TABLE lineitem ADD PARTITION (PARTITION p7 VALUES LESS THAN ('2000-01-01'));

拆分
mysql> ALTER TABLE lineitem
    REORGANIZE PARTITION p0 INTO (
        PARTITION p199206 VALUES LESS THAN ('1992-07-01'),
        PARTITION p199212 VALUES LESS THAN ('1993-01-01')
);

合并
mysql> ALTER TABLE lineitem REORGANIZE PARTITION p199206,p199212 INTO (
    PARTITION p0 VALUES LESS THAN ('1993-01-01')
);

交換分區(qū)
mysql> CREATE TABLE `temp1992` (
  `L_SHIPDATE` date NOT NULL DEFAULT '0000-00-00',
  `L_ORDERKEY` int(11) NOT NULL,
  `L_DISCOUNT` decimal(10,2) NOT NULL,
  `L_EXTENDEDPRICE` decimal(10,2) NOT NULL,
  `L_SUPPKEY` int(11) NOT NULL,
  `L_QUANTITY` int(11) NOT NULL,
  `L_RETURNFLAG` char(1) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  `L_PARTKEY` int(11) NOT NULL,
  `L_LINESTATUS` char(1) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  `L_TAX` decimal(10,2) NOT NULL,
  `L_COMMITDATE` date DEFAULT NULL,
  `L_RECEIPTDATE` date DEFAULT NULL,
  `L_SHIPMODE` char(10) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  `L_LINENUMBER` int(11) NOT NULL,
  `L_SHIPINSTRUCT` char(25) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  `L_COMMENT` varchar(44) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY (`L_ORDERKEY`,`L_LINENUMBER`,`L_SHIPDATE`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

mysql> ALTER TABLE lineitem EXCHANGE PARTITION p0 WITH TABLE temp1992;
Query OK, 0 rows affected (0.24 sec)

看完MySQL數(shù)據(jù)庫管理之如何創(chuàng)建分區(qū)表這篇文章后,很多讀者朋友肯定會想要了解更多的相關內(nèi)容,如需獲取更多的行業(yè)信息,可以關注我們的行業(yè)資訊欄目。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI