表:如何優化MySQL的ORDER BY +巨大LIMIT偏移
CREATE TABLE `test` (
`uid` int(11) unsigned NOT NULL AUTO_INCREMENT,
`rating` smallint(5) unsigned NOT NULL DEFAULT '100',
PRIMARY KEY (`uid`),
KEY `rating` (`rating`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
此查詢運行速度不夠快(0.015s):
SELECT uid FROM test ORDER BY rating DESC LIMIT 0,100
但隨着大LIMIT抵消它的運行速度非常慢(2.215 s):
SELECT uid FROM test ORDER BY rating DESC LIMIT 10000,100
我該如何擺脫巨大的極限補償?
你可以編輯你的問題,並在展位案例中添加查詢時間?因此,我們可以理解「慢」和「足夠快」的含義 – kappa
@kappa添加時間度量 –