mysql在索引上查询非索引类型的值导致的慢查询
来源:互联网 发布:经济学博士申请 知乎 编辑:程序博客网 时间:2024/05/21 06:26
发生问题的sql如下:
SELECT column_name,comment,type_name,integer_idx FROM tmp_alipay_columnsWHERE sd_id=(SELECT CAST(cd_id as SIGNED) FROM tmp_alipay_sds WHERE sd_id=333 AND cd_id IS NOT null AND cd_id<>'' LIMIT 1)
tmp_alipay_sds的sd_id列为varchar类型的索引
当传入参数333为int时,由于类型不同
mysql会隐式转换,将sd_id和传入的值转为浮点数(‘1a’,'1‘都会转为1,)
此时会发现无法使用索引,所以走了全表扫描
tmp_alipay_sds行数为600W
跑这个sql的任务是一个大任务
直接导致数据库服务器卡死
问题还是被老板发现的
下次每有新的sql重构或者涉及大表查询,一定要先explain
0 0
- mysql在索引上查询非索引类型的值导致的慢查询
- MySQL前缀索引导致的慢查询
- MYSQL使用索引导致查询变慢的例子
- Mysql的ENUM类型,查询索引值
- Mysql的索引和慢查询优化
- MySQL索引与慢查询
- 通过创建索引解决MySQL数据库查询慢的问题
- mysql优化,导致查询不走索引的原因总结
- MYSQL的全表扫描,主键索引(聚集索引、第一索引),非主键索引(非聚集索引、第二索引),覆盖索引四种不同查询的分析
- 导致Lucene无法索引查询的NoClassDefFoundError
- 索引失效&子查询-慢查询的起因
- 在标准MySQL 5.6上查询没有使用过的索引的SQL
- Mysql 查询数据慢,加入索引
- MySQL索引原理及慢查询优化
- MySQL索引原理及慢查询优化
- MySQL索引原理及慢查询优化
- MySQL索引原理及慢查询优化
- MySQL索引原理及慢查询优化
- AAC规格(LC,HE,HEv2)及性能对比
- 计算机视觉与图像处理、模式识别、机器学习学科之间的关系
- Qt模块化笔记之network——写第一个Tcp程序(2)
- [Mugeda HTML5技术教程之19]制作可定制贺卡
- 2名女子各投半张1元纸钞乘公交 败露后投诉司机
- mysql在索引上查询非索引类型的值导致的慢查询
- 一个前端与后端分离的架构实例
- linux 学习路线(初级到高级) 转载 SelfImprovement 文章
- 什么是句柄?为什么会有句柄?HANDLE
- vForge学习笔记(开始基础、环境、天空盒、粒子系统、雾)
- 【OpenCV学习笔记】【函数学习】四(origin+imageData+cvcopy()函数+CvMemStorage 类型+CvPoint类型)
- HelperFileUtil打开文件
- 中断号 和 中断向量区别
- linux shell判断目录是否为空的函数