记一次mysql小优化的事件

缘由

由于临近上线,做测试的时候发现数据查询不了(前提:索引都加了)
按照平时的话就想想应该没啥问题
但他们发现有各种mysql的bug,我上去一看数据量大了,但是也就几万条数据应该也不至于崩了吧…于是就看看咋回事
以下是表
在这里插入图片描述
sql语句

EXPLAIN SELECT *
FROM round_appl ra
LEFT JOIN round_appl_quotalot raq ON ra.APPL_SEQ = raq.APPL_REF_NO

结果发现,懵了
在这里插入图片描述
居然要扫8200 * 22281次!!! 这也太不合理了吧o(╥﹏╥)o

解决

于是我仔细再看看表结构…终于让我逮到了…不知道是谁设计的表…居然varchar join bigint !!! 字符串数据类型居然和数据类型join…这是要我背锅啊…我可真是服了…于是我赶紧改了如下
在这里插入图片描述
再次执行sql语句,果不其然
在这里插入图片描述
这才扫8200 * 3次…
所以…建立关系时数据结构类型和长度都要保持一致啦…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值