DROP TABLE temp;
CREATE TABLE `temp` (
`CallID` bigint(8) unsigned NOT NULL,
`InfoID` bigint(8) unsigned NOT NULL,
`CallStartTime` datetime NOT NULL,
`PartitionID` int(4) unsigned NOT NULL,
KEY `CallStartTime`(`CallStartTime`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY HASH (PartitionID)
PARTITIONS 366
サンプルクエリで EXPLAIN を使用すると、次の結果が得られます。
EXPLAIN PARTITIONS SELECT * FROM temp where PartitionID = 1
また
EXPLAIN PARTITIONS SELECT * FROM temp where PartitionID = DAYOFYEAR('2013-01-01 10:24:00')
結果:
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE temp p1 ALL 2 Using where
p1 パーティションを使用している理由がわかりません。ここで、parititon は p0 で始まります