日時列の範囲によるパーティションを使用してテーブルをパーティション分割する際に問題が発生しています。
テスト検索結果はまだフル パーティション スキャンです。
この問題に関してネット上でいくつかの投稿を見ましたが、問題を修正または回避する方法があるかどうかはわかりません.
mysql サーバー: Percona 5.5.24-55。
テーブル:
id
bigint(20) unsigned NOT NULL,
time
datatime unsigned NOT NULL, .... ....
キーid_time
( id
, time
)
エンジン=InnoDB
パーティション ステートメント:
alter table summary_201204 partition by range (day( time
)) subpartition by key( id
) subpartitions 5 ( パーティション p0 の値が (6) 未満、パーティション p1 の値が (11) 未満、パーティション p2 の値が (16) 未満、パーティション p3 の値が未満(21) 未満、パーティション p4 値が (26) 未満、パーティション p5 値が (MAXVALUE) 未満);
チェック: パーティションの説明 select * from summary_201204 where time
< '2012-07-21';
result: p0_p0sp0,p0_p0sp1,p0_p0sp2,p0_p0sp3,p0_p0sp4,p1_p1sp0,p1_p1sp1,p1_p1sp2,p1_p1sp3,p1_p1sp4,p2_p2sp0,p2_p2sp1,p2_p2sp2,p2_p2sp3,p2_p2sp4,p3_p3sp0,p3_p3sp1,p3_p3sp2,p3_p3sp3,p3_p3sp4,p4_p4sp0,p4_p4sp1,p4_p4sp2,p4_p4sp3, p4_p4sp4、p5_p5sp0、p5_p5sp1、p5_p5sp2、p5_p5sp3、p5_p5sp4。