例如,我有一个很大的MySQL表(10kk记录) 表结构:
CREATE TABLE `contents` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
/* some fields hidden */
`update_time` int(10) unsigned NOT NULL DEFAULT '0', /* INDEX */
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
update_time
可以随时更改为当前的UNIX时间戳
选择查询:
SELECT ... FROM contents WHERE ... ORDER BY update_time DESC [LIMIT ...];
如何制作分页,避免LIMIT OFFSET?
LIMIT OFFSET对此查询没有用,因为它读取了太多不需要的行。例如,SELECT ... FROM contents LIMIT 9000000, 100
将读取~9000100行。