zoukankan      html  css  js  c++  java
  • bug排查小结

    mysql cpu利用率偏高,并且长时间居高不下。

    show processlist

    发现有一个单表查询的sql语句出现的频率比较高,

    这个单表查询中规中矩,where语句中条件都使用”=“连接,再加一个order by 语句

    解决办法:

    把order by 语句中字段加索引,mysql cpu利用率应声下跌。

    万能的搜索引擎

    cpu利用率高,肯定是线程多喽,查看那些线程比较耗时,优化这些耗时的线程即可

    头痛医头,脚痛医脚 也不失为一个好办法

    2. 隐式转换
    SQL语句中查询变量和字段定义类型不匹配是另一个常见的错误。比如下面的语句:

    mysql> explain extended SELECT * FROM  my_balance b 
       > WHERE  b.bpn = 14000000123 
       >       AND b.isverified IS NULL ;
    mysql> show warnings;
    
    | Warning | 1739 | Cannot use ref access on index 'bpn' due to type or collation conversion on field 'bpn'

    其中字段 bpn 的定义为 varchar(20),MySQL 的策略是将字符串转换为数字之后再比较。函数作用于表字段,索引失效。

    上述情况可能是应用程序框架自动填入的参数,而不是程序员的原意。现在应用框架很多很繁杂,使用方便的同时也小心它可能给自己挖坑。

    如果bpn字段的值,如果是字符串的话,还可能会报错

  • 相关阅读:
    arm-gcc 命名规则
    Ubuntu中安装最新 Node.js 和 npm
    Tutorial: Create a Blinky ARM test project(创建一个闪灯的arm测试项目)
    Tutorial: How to install GNU MCU Eclipse?
    操作系统有关概念
    移植 uCos-III 3.03 到 STM32F429 上
    Kubernetes工作原理
    Kubernetes基础特性
    nmap详解之原理与用法
    nmap详解之基础示例
  • 原文地址:https://www.cnblogs.com/softidea/p/6847813.html
Copyright © 2011-2022 走看看