mysql limit太大优化_MySQL limit分页大偏移量慢的原因及优化方案

mysql limit太大优化_MySQL limit分页大偏移量慢的原因及优化方案_第1张图片

在 MySQL 中通常我们使用 limit 来完成页面上的分页功能,但是当数据量达到一个很大的值之后,越往后翻页,接口的响应速度就越慢。

本文主要讨论 limit 分页大偏移量慢的原因及优化方案,为了模拟这种情况,下面首先介绍表结构和执行的 SQL。

场景模拟

建表语句

user 表的结构比较简单,id、sex 和 name,为了让 SQL 的执行时间变化更加明显,这里有9个姓名列。

CREATE TABLE `user` (

`id` int(11) NOT NULL AUTO_INCREMENT COMMENT "主键",

`sex` tinyint(4) NULL DEFAULT NULL COMMENT "性别 0-男 1-女",

`name1` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT "姓名",

`name2` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT "姓名",

`name3` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci N

你可能感兴趣的:(mysql,limit太大优化)