隐式转换导致的cpu负载近100%
1.背景:从昨天晚上通过钉钉和邮箱一直接收到频繁报cpu负载超过90%,刚好BI同事晚上、凌晨在线上配合审计频繁DML数据库(备注:BI有一个同事有个库的DML权限,后面等审计完会收回)加上我线上线下在做定时同步和以前这种事也有发生,就没有当回事。
今天早上一来巡检,就发现了异常。
2.以下大量语句频繁,发现是另外一个库(另一个业务,并发量比较大),不是1的原因。
explain分析,发现没有走索引 type:ALL
执行时间都是7秒以上。
3.desc table结构,发现ad_id这个字段是我来之前开发定义的varchar(20),
看到这里无语,这个表关联抖音及引流下单表,是以前开发弄的,建议这里弄成bigint替代varchar(20),开发暂时说不用转换
看到这里,就知道原因了,因为ad_id被开发定义了varchar(20),但sql ad_id后是int类型,发生了隐式转换。
`ad_id` = '1733062082364420'程序中修改完,cpu负载立马下来。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?