mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
b5615eff0d
Idea comes from MySQL which does something similar
64 lines
1.7 KiB
Text
64 lines
1.7 KiB
Text
CREATE TABLE t1(a INT) ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES (1), (2), (3);
|
|
CREATE TABLE t2(a INT) ENGINE=InnoDB;
|
|
INSERT INTO t2 VALUES (4), (5), (6);
|
|
CREATE TABLE p (
|
|
a int
|
|
) ENGINE=InnoDB
|
|
PARTITION BY RANGE (a)
|
|
(PARTITION p0 VALUES LESS THAN (100),
|
|
PARTITION p1 VALUES LESS THAN (200),
|
|
PARTITION p2 VALUES LESS THAN (300),
|
|
PARTITION p3 VALUES LESS THAN (400));
|
|
INSERT INTO p VALUES (1), (101), (201), (301);
|
|
CREATE TABLE isam_t1(a INT) ENGINE=MyISAM;
|
|
INSERT INTO isam_t1 VALUES (1), (2), (3);
|
|
CREATE TABLE isam_t2(a INT) ENGINE=MyISAM;
|
|
INSERT INTO isam_t2 VALUES (4), (5), (6);
|
|
CREATE TABLE isam_p (
|
|
a int
|
|
) ENGINE=MyISAM
|
|
PARTITION BY RANGE (a)
|
|
(PARTITION p0 VALUES LESS THAN (100),
|
|
PARTITION p1 VALUES LESS THAN (200),
|
|
PARTITION p2 VALUES LESS THAN (300),
|
|
PARTITION p3 VALUES LESS THAN (400));
|
|
INSERT INTO isam_p VALUES (1), (101), (201), (301);
|
|
DROP TABLE t1;
|
|
DROP TABLE t2;
|
|
CREATE TABLE t2(a INT) ENGINE=InnoDB;
|
|
INSERT INTO t2 VALUES (40), (50), (60);
|
|
ALTER TABLE p DROP PARTITION p0;
|
|
ALTER TABLE p DROP PARTITION p1;
|
|
ALTER TABLE p ADD PARTITION (PARTITION p4 VALUES LESS THAN (500));
|
|
ALTER TABLE p ADD PARTITION (PARTITION p5 VALUES LESS THAN (600));
|
|
INSERT INTO p VALUES (401), (501);
|
|
DROP TABLE isam_t1;
|
|
DROP TABLE isam_t2;
|
|
CREATE TABLE isam_t2(a INT) ENGINE=MyISAM;
|
|
INSERT INTO isam_t2 VALUES (40), (50), (60);
|
|
ALTER TABLE isam_p DROP PARTITION p0;
|
|
ALTER TABLE isam_p DROP PARTITION p1;
|
|
ALTER TABLE isam_p ADD PARTITION (PARTITION p4 VALUES LESS THAN (500));
|
|
ALTER TABLE isam_p ADD PARTITION (PARTITION p5 VALUES LESS THAN (600));
|
|
INSERT INTO isam_p VALUES (401), (501);
|
|
# shutdown server
|
|
# remove datadir
|
|
# xtrabackup move back
|
|
# restart
|
|
SELECT * from p;
|
|
a
|
|
201
|
|
301
|
|
401
|
|
501
|
|
SELECT * from isam_p;
|
|
a
|
|
201
|
|
301
|
|
401
|
|
501
|
|
DROP TABLE isam_p;
|
|
DROP TABLE isam_t2;
|
|
DROP TABLE p;
|
|
DROP TABLE t2;
|