我有一个包含23万行的表格
查询1个持续时间1,389秒
SELECT sql_no_cache `model_regulation_sections`.*
FROM `model_regulation_sections`
WHERE `model_regulation_sections`.`regulation_id` = 254
ORDER BY `model_regulation_sections`.`lft` ASC
LIMIT 20
说明
select_type =简单
表格= model_regulation_sections
partitions = null`
类型=索引
可能的键= document_id
键= lft
key_len = 4
ref = null
行= 2229
已过滤= 0.90
额外=使用where
查询2持续时间0,0067
SELECT sql_no_cache `model_regulation_sections`.*
FROM `model_regulation_sections`
WHERE `model_regulation_sections`.`regulation_id` = 254
ORDER BY `model_regulation_sections`.`lft` ASC
LIMIT 21
说明
select_type =简单
表格= model_regulation_sections
partitions = null`
类型= ref
可能的键= document_id
键= lft
key_len = 4
ref = const
行= 2251
已过滤= 100
Extra ='使用索引条件;使用filesort'
MySQL为什么将限制从20增加到21将执行时间从1,4s减少到0,0067s?
为什么2个小时前查询1的执行时间为13.5秒? 我没有更改配置。