
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