一条SQL引发的血案

问题场景: mysql数据库的配置为8核16G,数据库单表45k条记录,通过两个未加索引的字段进行查询,返回的记录数小于等于1,绝对并发6k,每个SQL的查询时间为1s。 

出现问题: 数据库CPU利用率一直处于100%,导致其他sql操作超时,应用down掉。实际上不到6k并发cpu利用率就到100%。

解决方法:对涉及的两个字段加索引,问题解决,相同的问题场景下数据库CPU基本没有出现波动。

通过这个小问题,值得深思的地方:

  • 严谨。设计、开发、维护等整个流程环节都需要严谨。
  • 分工。分工越来越细,环环相扣,一个环节出现问题,很可能就是致命的。拿此案例来说,服务器部署架构都没问题,就是因为这个SQL没有索引,导致CPU一直是100%,之外的其它功能也受影响,访问不了。
  • 人品。忠诚度应该是算作人品的一个方面,而不是全部。试问一个工作多年的人,忠诚度非常高,但是没有一技之长,能算人品好?勤奋好学也应该是人品中一个重要部分。

猜你喜欢

转载自lpyyn.iteye.com/blog/2341344