今日份工作开始就遇到一个面瘫问题,第一次遇见该问题,问题如下:
一个二次开发的项目,git clone 然后环境搭建完成,项目成功跑起来,突然发现首页某个位置数据不显示,但是分页却显示有50多页
在这里插入图片描述
赶紧跑到线上看一下,居然正常????

找到该数据的获取sql,没发现什么异常,打印结果分页参数都是正常,total(总数据条数)105,但是数据确实空的

DB::table($this->table)->whereNull('delete_time')->where('phase', $phase)->orderBy('updated_at', 'desc')->paginate(2);

有点懵逼,有数据查不到?
尝试将 paginate 替换为 get(以为是分页的问题),结果还是不行
将sql打印直接navicat执行,结果如下:
在这里插入图片描述
罪魁祸首出来了!!!

Out of sort memory, consider increasing server sort buffer size

排序内存不够用!!!
将 updated_at desc 替换为 id desc
ok ,没问题,但是这并没有解决问题

如何解决了:
1.在终端中输入 mysql -u root -p 然后输入你的数据库密码 进入数据库

mysql -uroot -p

2.用命令看下 sort_buffer_size 到底有多少

show variables like '%sort_buffer_size%'; 

3.修改 sort_buffer_size

SET GLOBAL sort_buffer_size = 1024*1024 or SET sort_buffer_size = 1024*1024

在这里插入图片描述

稍等片刻,问题解决

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐