私は次の例表を持っている...のMySQL 5.1パーティショニング
mysql> CREATE TABLE part_date3
-> ( c1 int default NULL,
-> c2 varchar(30) default NULL,
-> c3 date default NULL) engine=myisam
-> partition by range (to_days(c3))
-> (PARTITION p0 VALUES LESS THAN (to_days('1995-01-01')),
-> PARTITION p1 VALUES LESS THAN (to_days('1996-01-01')) ,
-> PARTITION p2 VALUES LESS THAN (to_days('1997-01-01')) ,
-> PARTITION p3 VALUES LESS THAN (to_days('1998-01-01')) ,
-> PARTITION p4 VALUES LESS THAN (to_days('1999-01-01')) ,
-> PARTITION p5 VALUES LESS THAN (to_days('2000-01-01')) ,
-> PARTITION p6 VALUES LESS THAN (to_days('2001-01-01')) ,
-> PARTITION p7 VALUES LESS THAN (to_days('2002-01-01')) ,
-> PARTITION p8 VALUES LESS THAN (to_days('2003-01-01')) ,
-> PARTITION p9 VALUES LESS THAN (to_days('2004-01-01')) ,
-> PARTITION p10 VALUES LESS THAN (to_days('2010-01-01')),
-> PARTITION p11 VALUES LESS THAN MAXVALUE);
Query OK, 0 rows affected (0.00 sec)
が、これはデータの完全であると私はP11で2011パーティション内のスロット、その後、P12のMAXVALUEを作りたいと言うの効率的な方法がありますテーブル全体をダンプして再ロードせずにこれを行うのですか?
それは素晴らしい作品です。パーティション化がうまく機能していますか? –
はい。 MySQL 5.5では、1つのテーブルに4億以上の行があり、かなりリニアなパフォーマンスがあります。このようなテーブルを照会する際には、パーティションプルーニングが機能するのに十分なヒントがクエリに存在するように注意する必要があります。 – Dojo