记一次consider increasing server sort buffer size的处理

《记一次consider increasing server sort buffer size的处理》

SQLSTATE[HY001]: Memory allocation error: 1038 Out of sort memory, consider increasing server sort buffer size

字面意思是超出了排序内存的大小

//查看排序内存的大小:
mysql> show variables like '%sort_buffer_size%'; 
Variable_name	Value
innodb_sort_buffer_size	1048576 //innodb ->1m
myisam_sort_buffer_size	8388608  //myisam->8m
sort_buffer_size	262144
//原句 select * from `tbl_article_author` where `status` = 1 order by `id` desc limit 18 offset 28386 

解决方法1:增加排序内存大小:

//等号后面要改的  选择自己需求的大小
SET GLOBAL sort_buffer_size = 1024*1024;  

解决方法2: 强制使用索引

select * from `tbl_article_author` FORCE INDEX(PRIMARY)  where `status` = 1 order by `id` desc limit 18 offset 28386 
点赞

发表评论

邮箱地址不会被公开。 必填项已用*标注