You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
1.9 KiB
77 lines
1.9 KiB
CREATE TABLE test_table
|
|
(
|
|
id INT NOT NULL,
|
|
fname VARCHAR(30),
|
|
job_code INT NOT NULL,
|
|
store_id INT NOT NULL,
|
|
PRIMARY KEY (`id`,`store_id`)
|
|
)
|
|
PARTITION BY RANGE (store_id)
|
|
(
|
|
PARTITION p0 VALUES LESS THAN (6),
|
|
PARTITION p1 VALUES LESS THAN (11),
|
|
PARTITION p2 VALUES LESS THAN (16),
|
|
PARTITION p3 VALUES LESS THAN MAXVALUE
|
|
);
|
|
##说明当 store_id < 6 时数据放到p0 以此类推
|
|
|
|
|
|
CREATE TABLE test_table
|
|
(
|
|
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
action VARCHAR(20) NOT NULL,
|
|
timestamp TIMESTAMP NOT NULL,
|
|
PRIMARY KEY (id, timestamp)
|
|
)
|
|
PARTITION BY RANGE (UNIX_TIMESTAMP(timestamp))
|
|
(
|
|
PARTITION p0 VALUES LESS THAN (UNIX_TIMESTAMP('2014-08-01 00:00:00')),
|
|
PARTITION p1 VALUES LESS THAN (UNIX_TIMESTAMP('2014-11-01 00:00:00')),
|
|
PARTITION p2 VALUES LESS THAN (UNIX_TIMESTAMP('2015-01-01 00:00:00')),
|
|
PARTITION p3 VALUES LESS THAN (UNIX_TIMESTAMP('2015-02-01 00:00:00'))
|
|
);
|
|
##说明当 timestamp < 2014-08-01 00:00:00 时数据放到p0 以此类推
|
|
|
|
|
|
CREATE TABLE test_table
|
|
(
|
|
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
action VARCHAR(20) NOT NULL,
|
|
timestamp DATETIME NOT NULL,
|
|
PRIMARY KEY (id, timestamp)
|
|
)
|
|
PARTITION BY RANGE (YEAR(timestamp))
|
|
(
|
|
PARTITION p0 VALUES LESS THAN (2013),
|
|
PARTITION p1 VALUES LESS THAN (2014),
|
|
PARTITION p2 VALUES LESS THAN (2015),
|
|
PARTITION p3 VALUES LESS THAN (2016),
|
|
PARTITION p4 VALUES LESS THAN MAXVALUE
|
|
);
|
|
##说明当 timestamp < 2013 时数据放到p0 以此类推
|
|
|
|
|
|
|
|
##查看分区表中有哪些分区
|
|
SELECT
|
|
TABLE_NAME,
|
|
PARTITION_NAME
|
|
FROM
|
|
information_schema.PARTITIONS
|
|
WHERE
|
|
table_schema = DATABASE ()
|
|
AND table_name = 'test_table'
|
|
|
|
|
|
##查看分区中有哪些数据
|
|
SELECT * FROM test_table PARTITION (p1);
|
|
|
|
|
|
##利用 EXPLAIN 可以看到只需搜对应的区,不会搜索所有分区
|
|
EXPLAIN
|
|
select * from employees where store_id=8;
|
|
|
|
|
|
##如果分区,分区字段的值必须要在分区规则内,否则报错。
|
|
|