Original post: http://anothermysqldba.blogspot.com/2013/05/mysql-count-and-select-from-partition.html
MySQLフォーラムã¯ã€ãƒ‘ーティションã”ã¨ã«è¡Œæ•°ã‚’カウントã™ã‚‹æ–¹æ³•ã«ã¤ã„ã¦ã®è³ªå•ãŒã‚ã£ãŸã€‚
ç§ã¯ãれã¯åŒæ§˜ã«å„ªã‚ŒãŸãƒ–ãƒã‚°ã®è¨˜äº‹ã«ãªã‚‹ã ã‚ã†è€ƒãˆå‡ºã—ãŸã€‚
最åˆã«ã“れらã®ãƒ‘ーティションã®è¦‹ç›´ã—ã®ãŸã‚ã«æŒã£ã¦ã„ã‚‹ã¨ã€å°‘ãªãã¨ã‚‚ã‚ãªãŸãŒå§‹ã‚られるよã†ã«ã„ãã¤ã‹ã®è‰¯ã„リンクã§ã™ã€‚ å‚考例ã“ã“ã§ä½¿ç”¨ã™ã‚‹ä¾‹ã¯ã€ã“れらã®ãƒšãƒ¼ã‚¸ã‚’å§‹ã‚ã¦ã„ã¾ã™ã€‚
[OK]ã‚’ã€ä»Šç§ãŸã¡ã¯ã€ãƒ‘ーティションã‹ã‚‰é¸æŠžã™ã‚‹ã ã‘ã§ãªãã€ãã“ã‹ã‚‰æ•°ãˆã‚‹ã“ã¨ãŒã§ãã‚‹..
ã“ã®æƒ…å ±ãŒãŠå½¹ã«ç«‹ã¦ã°å¹¸ã„ã§ã™ã€‚
PlanetMySQL Voting: Vote UP / Vote DOWN
MySQLフォーラムã¯ã€ãƒ‘ーティションã”ã¨ã«è¡Œæ•°ã‚’カウントã™ã‚‹æ–¹æ³•ã«ã¤ã„ã¦ã®è³ªå•ãŒã‚ã£ãŸã€‚
ç§ã¯ãれã¯åŒæ§˜ã«å„ªã‚ŒãŸãƒ–ãƒã‚°ã®è¨˜äº‹ã«ãªã‚‹ã ã‚ã†è€ƒãˆå‡ºã—ãŸã€‚
最åˆã«ã“れらã®ãƒ‘ーティションã®è¦‹ç›´ã—ã®ãŸã‚ã«æŒã£ã¦ã„ã‚‹ã¨ã€å°‘ãªãã¨ã‚‚ã‚ãªãŸãŒå§‹ã‚られるよã†ã«ã„ãã¤ã‹ã®è‰¯ã„リンクã§ã™ã€‚ å‚考例ã“ã“ã§ä½¿ç”¨ã™ã‚‹ä¾‹ã¯ã€ã“れらã®ãƒšãƒ¼ã‚¸ã‚’å§‹ã‚ã¦ã„ã¾ã™ã€‚
- http://dev.mysql.com/doc/refman/5.6/en/partitioning.html
- http://dev.mysql.com/tech-resources/articles/mysql_55_partitioning.html
> CREATE TABLE t2
-> (
-> dt DATE
-> )
-> PARTITION BY RANGE (TO_DAYS(dt))
-> (
-> PARTITION p01 VALUES LESS THAN (TO_DAYS('2007-01-01')),
-> PARTITION p02 VALUES LESS THAN (TO_DAYS('2008-01-01')),
-> PARTITION p03 VALUES LESS THAN (TO_DAYS('2009-01-01')),
-> PARTITION p04 VALUES LESS THAN (MAXVALUE));
> desc t2;
+-------+------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+------+------+-----+---------+-------+
| dt | date | YES | | NULL | |
+-------+------+------+-----+---------+-------+
INSERT INTO t2 VALUES ('2007-02-02'),('2008-02-02'),('2009-02-02'),(CURDATE());
Query OK, 4 rows affected (0.04 sec)
[OK]ã‚’ã€ä»Šç§ãŸã¡ã¯ã€ãƒ‘ーティションã‹ã‚‰é¸æŠžã™ã‚‹ã ã‘ã§ãªãã€ãã“ã‹ã‚‰æ•°ãˆã‚‹ã“ã¨ãŒã§ãã‚‹..
> select count(*) from t2;
+----------+
| count(*) |
+----------+
| 4 |
+----------+
> explain partitions select count(*) from t2 \G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: t2
partitions: p01,p02,p03,p04
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 5
Extra: NULL
> SELECT * t2ã®ãƒ‘ーティションã‹ã‚‰ï¼ˆP02);
+ ------------ +
| DT |
+ ------------ +
| 2007-02-02 |
+ ------------ +
> SELECT * t2ã®ãƒ‘ーティションã‹ã‚‰ï¼ˆP04);
+ ------------ +
| DT |
+ ------------ +
| 2009-02-02 |
| 2013年5月15日|
+ ------------ +
> SELECT * t2ã®ãƒ‘ーティションã‹ã‚‰ï¼ˆP02ã€P04);
+ ------------ +
| DT |
+ ------------ +
| 2007-02-02 |
| 2009-02-02 |
| 2013年5月15日|
+ ------------ +
T2 PARTITION(P04)ã‹ã‚‰> SELECT COUNT(*);
+ ---------- +
| COUNT(*)|
+ ---------- +
| 2 |
+ ---------- +
ã“ã®æƒ…å ±ãŒãŠå½¹ã«ç«‹ã¦ã°å¹¸ã„ã§ã™ã€‚
PlanetMySQL Voting: Vote UP / Vote DOWN