遇到了Mysql创建临时表到磁盘,找了不少方法去分析原因并加以调整。不少MYSQL分析方法有点难度并需要花很少精力。
很多情况下,尝试增加tmp_table_size不太能根本上解决临时表占用过多的问题。这时侯,应该检查一下索引是否设置合理。
如果MYSQL索引设置不合理,创建的临时数据量则过大,内存放不下了,自然存到磁盘上去了。
注意:
mysql在把结果集存放到临时表的时候,并不是结果集的实际大小,而是你对每个字段所定义的大小。比如,你的结果集里面有一个name字段是varchar(20),你的name的值大多是4个字符。但mysql处理这个结果集放入临时表的时候,是按照20个字节来放的。所以建议检查一些字段的设计,是否定义过大了
标签:
PHP
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~