我想通过datetime列对mysql表进行分区.有一天分区.创建表脚本是这样的:
CREATE TABLE raw_log_2011_4 (
id bigint(20) NOT NULL AUTO_INCREMENT,
logid char(16) NOT NULL,
tid char(16) NOT NULL,
reporterip char(46) DEFAULT NULL,
ftime datetime DEFAULT NULL,
KEY id (id)
) ENGINE=InnoDB AUTO_INCREMENT=286802795 DEFAULT CHARSET=utf8
PARTITION BY hash (day(ftime)) partitions 31;
Run Code Online (Sandbox Code Playgroud)
但是当我选择某天的数据时,它找不到分区.select语句是这样的:
explain partitions select * from raw_log_2011_4 where day(ftime) = 30;
Run Code Online (Sandbox Code Playgroud)
当我使用另一个语句时,它可以找到分区,但我没有选择某天的数据.
explain partitions select * from raw_log_2011_4 where ftime = '2011-03-30';
Run Code Online (Sandbox Code Playgroud)
有没有人告诉我如何选择某天的数据并利用分区.谢谢!