CREATE TABLE t1(
id INT UNSIGNED NOT NULL,
dttm DATETIME NOT NULL,
PRIMARY KEY(id, dttm)
) ENGINE=InnoDB
PARTITION BY RANGE COLUMNS(dttm) (
PARTITION pf_201612 VALUES LESS THAN ('20170101') ENGINE=InnoDB
);
SELECT * FROM t1 WHERE dttm > '2017-01-19' ORDER BY id DESC;
Here is a reduced test case
CREATE TABLE t1(
id INT UNSIGNED NOT NULL,
dttm DATETIME NOT NULL,
PRIMARY KEY(id, dttm)
) ENGINE=InnoDB
PARTITION BY RANGE COLUMNS(dttm) (
PARTITION pf_201612 VALUES LESS THAN ('20170101') ENGINE=InnoDB
);
SELECT * FROM t1 WHERE dttm > '2017-01-19' ORDER BY id DESC;