mysql子分区多少层_MYSQL子分区修剪
我有一個MYSQL表與分區的年份和子分區的月份。MYSQL子分區修剪
CREATE TABLE ptable (
id INT NOT NULL AUTO_INCREMENT,
name varchar(100),
purchased DATETIME NOT NULL,
PRIMARY KEY (id, purchased)
)
PARTITION BY RANGE(YEAR(purchased))
SUBPARTITION BY HASH(MONTH(purchased))
SUBPARTITIONS 12 (
PARTITION p0 VALUES LESS THAN (2011),
PARTITION p1 VALUES LESS THAN (2012),
PARTITION p5 VALUES LESS THAN MAXVALUE
);
我對這張表的大部分查詢都涉及年份或月份。當我嘗試按月查詢時,它不會正確修剪并掃描給定年份的所有12個子分區。
explain partitions
SELECT *
FROM ptable
WHERE purchased BETWEEN '2011-12-01' AND '2011-12-31';
我的問題是有辦法告訴MYSQL只查詢特定的子分區,當我知道年份和月份值?或者可能有更好的做法。我正在使用MYSQL 5.1。
+0
當分區制作正確時,mysql會自動執行,如果我是你,我會將日期轉換為int unsigned并使用unix時間戳p分區 –
總結
以上是生活随笔為你收集整理的mysql子分区多少层_MYSQL子分区修剪的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 128g的u盘多少钱啊?
- 下一篇: 点击时候确定某个元素 js_某空气质量监