写SQL从来不用explain看执行计划,一个慢查询直接把数据库CPU跑满
之前做个后台统计功能,我写了个多表关联的查询,一次要关联四张表,当时跑着测试数据少,速度挺快,就直接上线了,结果上线一周,数据库CPU直接跑到100%,整个网站慢得打不开,我赶紧看慢查询日志,就是我写的那个统计查询,每次执行要扫十万行数据,全表关联,把数据库CPU占满了。 后来我给关联的字段加了索引,再用explain看执行计划,确认查询走了索引,一次执行从十几秒变成0.01秒,数据库CPU立刻就下来了。从那之后我写任何复杂SQL,第一件事就是用explain看执行计划,确认有没有走索引、会不会全表扫描,再也不直接上线了。很多新手写SQL,写完就扔,根本不看执行计划,数据量小的时候没事,等数据攒到几万、几十万条,一个慢查询直接把数据库拖垮,整个网站都跟着卡。 真的,新手写复杂SQL,记得用explain看执行计划,慢查询提前优化,别等把数据库CPU跑满、网站卡了才着急。
本站源码来源于网络收集修改或者交换,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。
0