MySQL  - 讨论区

标题:如何快速杀掉大量有问题SQL操作

2013年12月12日 星期四 10:52

随着公司业务的飞速发展,支撑业务的系统的功能也越来越丰富,各种SQL语句花样百出,质量也参差不齐。

曾经有一个功能是统计所有发生退款的订单,这个SQL语句查询的数据表缺少索引,导致查询相当缓慢。用户在使用这个功能时,发现等半天也出不来结果,就不耐烦的刷新,还是出不来,后来生气了,按着F5不动,结果数据库迅速积累了几百个同样的查询,负载迅速攀升至100多。

今天暂时不讨论如何改进这个SQL语句的写法或者应用程序如何防止刷新,只讨论一下出现这种问题后,如何快速干掉这些SQL操作。

我写了一条命令,供大家参考,大家有什么好的经验,欢迎分享:

#mysql -e "show processlist"|grep "SQL语句的特征字符串" |awk '{print "kill " $1 ";"}'|mysql

根据我的多次实践,这个效果挺好,但一定要选择好 "SQL语句的特征字符串",否则容易发生误杀的情况。

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号