oracle 表字段类型,与业务SQL不合理,导致的隐式转换
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,今天遇到一个生产问题,业务SQL很简单,单表查询,而且表只有三个字段,有个主键ID,而且通过主键ID过滤,业务页面会传一百多个ID过来调用SQL,这个表数据量大小为100多万,但是偏偏这条SQL执行跑
千家信息网最后更新 2025年11月07日oracle 表字段类型,与业务SQL不合理,导致的隐式转换
今天遇到一个生产问题,业务SQL很简单,单表查询,而且表只有三个字段,有个主键ID,而且通过主键ID过滤,业务页面会传一百多个ID过来调用SQL,这个表数据量大小为100多万,但是偏偏这条SQL执行跑了15秒,完全影响业务不能使用。
select a,b,c from t where t.id in (1111,222,333,444,555..........)
我一开始并没有去查看表设计,而是直接看了执行计划,
1 alter session set statistics_level=all;
2 执行SQL
3 select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST')
执行计划直接走了全表扫描,而在谓词过滤的信息里有一堆的
to_number(t.id)=1111 or to_number(t.id)=2222 ..............
看到这里立马就猜想到了具体的问题所在,查询T表ID字段,是VARCHAR2类型,而SQL in的是数字类型,SQL直接被隐式转换后,便走不了索引了, 直接走了全表。这个问题后续才发现,也是因为业务不关注,在表数据日益上涨之后,性能问题日益凸显才被抛出来
业务
问题
字段
类型
数据
查询
三个
信息
只有
多个
大小
性能
所在
数字
索引
而是
谓词
页面
影响
猜想
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络技术0000十六种变化
计算机网络安全事故应急处置
激战2服务器还能建号吗
为啥发请求服务器会收钱
扫黑除恶暨网络安全知识宣传
法律检索各大数据库排名
数据库及数据安全背景
e7管理系统显示消息服务器错误
网络安全培训出来就业
凡悟软件开发
dns服务器该改成多少
移动网络技术支持有哪些
5g互联网科技公司做哪些项目
哈利波特不同服务器可住一个寝吗
数据库技术中菜单设计
宁海应用软件开发工具
外卖平台发布数据库
软件开发意向职位
计算机软件开发属于那种科学
保定学软件开发
上海昊钺网络技术有限公司
iis7远程管理服务器
校招 软件开发非科班
微医科技互联网医院
哈佛f5屏幕显示服务器内部错误
幻塔不用服务器能联机吗
微软补丁服务器
电商服务器证书哪个好
绿色地狱怎么开服务器
旋转服务器