Oracle隐式转换

news/2024/9/24 12:24:48

收到数据库服务器cpu告警,当时在吃饭,来不及登录查看。(数据库80%的问题都是SQL引起的)

后续通过会话快照信息进行分析。

select sample_time,sql_id,count(*) from dba_hist_active_sess_history
where sample_time>to_date('20240904 17:58:00','yyyymmdd hh24:mi:ss')
and sample_time<to_date('20240904 18:05:00','yyyymmdd hh24:mi:ss')
group by sample_time ,sql_id;

 大量活动会话都在执行这个sql(sql_id为ax6dvxqdda1au);

查看执行计划:

select * from table(dbms_xplan.display_awr('ax6dvxqdda1au'));

 

就是常见的全表扫描引起的问题。

很简单的处理方案,给id列加了一个主键,以为就ok了。

 

结果第二天又在告警,一脸懵B(为啥没用索引)。

仔细看了一下游标的执行计划:

select * from table(dbms_xplan.display_cursor('ax6dvxqdda1au',0));

 

谓词那边发生了类型转换,表结构id为varchar2类型,应用那边传参为number类型。

只能临时加个函数索引解决;

create index idx_id on BOM_RESOLVING_RESULT(to_number(id));

后续让开发发布时,对表结构进行整改。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/56940.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

通过DashScope API调用将多种模态转换为向量

​ 本文介绍如何通过模型服务灵积DashScope进行多模态向量生成,并入库至向量检索服务DashVector中进行向量检索。本文介绍如何通过模型服务灵积DashScope进行 多模态向量生成 ,并入库至向量检索服务DashVector中进行向量检索。 模型服务灵积DashScope,通过灵活、易用的模型A…

Gitee

Git 分布式版本控制工具 课程内容Git概述 Git代码托管服务 Git常用命令 在IDEA中使用Git1. 前言 1.1 什么是Git Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),在软件开发过程中被广泛使用。 在IDEA开发工具中可以集成Git…

跨境电商需要用到的电商API接入详解(淘宝京东拼多多1688API接口)

随着电子商务的快速发展,跨境电商已经成为越来越多企业的选择。在跨境电商的业务流程中,电商API发挥着至关重要的作用。本文将详细介绍跨境电商需要用到的电商API,包括商品信息、商品类目信息、店铺信息、交易明细信息、商品管理、评价信息、店铺用户信息等。**一、商品信息…

通义灵码最全使用指南,一键收藏

通义灵码,作为智能编码助手,可以在你进行编码工作时,为你提供行级/函数级实时续写、注释生成代码、单元测试生成、代码优化、注释生成、代码解释、研发智能问答、代码问题修复等辅助编码工作的功能。通义灵码,作为智能编码助手,可以在你进行编码工作时,为你提供行级/函数…

opencv - 2 - 核心操作

一、图像的基本操作 1、访问像素值并修改它们 当成一个三维数组访问即可 import cv2 as cv import numpy as npimg = cv.imread("img/1.png") oneElement = img[100,100] print(oneElement) # 会得到[51 35 2] oneElementColor = img[100,100,0] print(oneElementCo…

结构开发笔记(七):solidworks软件(六):装配摄像头、摄像头座以及螺丝,完成摄像头结构示意图

前言摄像头装配机械机构动作,本篇就将之前的摄像头模块,摄像头底座和螺丝,进行装配摄像头。 装配过程步骤一:新建装配体再添加一次零件,因为有2个螺丝,然后固定底座:  步骤二:摄像头方块与底座匹配约束先对圆圈(这时候是同心圆):  再来一次,让两个面相切:  …

python 十进制换为二进制 高位补零

参考:https://www.cnblogs.com/zy740/p/11904185.html python 十进制转换为二进制 高位补零a = 2b = {:08b}.format(a)输出结果为八位二进制,且高位补零若为a = 2b = {:8b}.format(a)输出结果为八位二进制,但高位不补零

vue3 常用的几种组件通讯方式

vue3 常用的几种组件通讯方式,大致如下Props/Emit Pinia 事件总线(mitt) Provide/Inject 浏览器本地存储 1. Props / Emit 注释:prop属性名称 / 方法名称的格式,采用 camelCase 与 kebab-case。1.1 props (1)上游组件设置 prop 值(通过 v-bind 或 冒号) 或者 (2)下…