0
点赞
收藏
分享

微信扫一扫

MySQL性能优化:due to type or collation conversion on field

IT影子 2022-01-20 阅读 19

MySQL性能优化:due to type or collation conversion on field

一、问题介绍

有两张表A,和B,都有个一字段 DEV_CODE

数据规模,在10万条左右

查询A表中的DEV_CODE,并且DEV_CODE没有在B表的DEV_CODE中

SQL语句 类似这样

SELECT dev_code
FROM A
WHERE dev_code NOT IN (
       SELECT dev_code
       FROM B
       WHERE ... );

问题现象:慢查询告警,执行时间查过10秒

告警日志

二、问题原因

A表的DEV_CODE 排序规则是 utf8_general_ci

B表的DEV_CODE 排序规则是 utf8_bin

三、验证结果

  • B表的DEV_CODE 排序规则改为 utf8_general_ci
  • 执行时间小于 500毫秒

  • 不想成为架构师的厨师不是好码农
  • 先把代码跑起来,在实践中理解技术知识点
  • 从代码到原理,从简单到复杂,从轮廓到细节,从实践到理论
  • 追求简单,容易使人理解,知识的上下文也是知识的一部分,例如环境、配置、版本,时间等
  • 把理解的知识点分享出来,自造福田,自得福缘
  • 欢迎留言交流,也可以提出问题,不炒菜的时候会完善文档
  • 代码地址 https://gitee.com/jason78/sampanjavademo
  • Jason@vip.qq.com 2022-1-19
举报

相关推荐

0 条评论