本期将为大家分享“SQL语句绑定变量发生隐式类型转换”的性能优化案例。

SELECT 字段1,字段2,字段3FROM "用户"."表名" "T"WHERE ("T"."infoId" = :EntityKeyValue1)Bind Variables :1 - (NVARCHAR2(32)):bvh576sp8w

set linesize 150set pagesize 500col event for a40col event_info for a100select inst_id,event,count(*) cntfrom gv$sessionwhere wait_class <> 'Idle'group by inst_id,eventorder by count(*) desc;INST_ID EVENT CNT---------- ---------------------------------------- ----------1 direct path read 1952 direct path read 124select 'last 1 hour event: '||event "event_info", sql_id, count(*)from v$active_session_historywhere sample_time > sysdate - 1 24and session_type = 'FOREGROUND'and wait_class <> 'Idle'group by event, sql_idhaving count(*)>100order by 3 desc;event_info SQL_ID COUNT(*)-------------------------------------------- ------------- ----------last 1 hour event: direct path read 71cva5kkk3wd8 164480last 1 hour event: gc buffer busy release 1azfwx81dmy4r 6606
alter session set cursor_sharing=force;set linesize 1000set pagesize 999SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(to_char('&sql_id'),NULL));set linesize 1000col value_string for a30col name for a30select SQL_ID,NAME,POSITION,DATATYPE,DATATYPE_STRING,VALUE_STRINGfrom V$SQL_BIND_CAPTURE WHERE SQL_ID = '&sql_id';



create index YWZD.IDX_infoId on "YWZD"."TEST01"(SYS_OP_C2C("infoId"));

SELECTSQL_ID,PLAN_HASH_VALUEFROMV$SQL_PLAN XWHEREX.FILTER_PREDICATES LIKE '%INTERNAL_FUNCTION%'GROUP BYSQL_ID,PLAN_HASH_VALUE;SELECTSQL_ID,PLAN_HASH_VALUEFROMV$SQL_PLAN XWHEREX.FILTER_PREDICATES LIKE '%SYS_OP_C2C%'GROUP BYSQL_ID,PLAN_HASH_VALUE;

实验模拟脚本create table TEST01 as select * from dba_objects;create index ix_object_name on TEST01(object_name);variable v_object_name nvarchar2(32);exec :v_object_name :='OBJ$';select count(*) from TEST01 where object_name=:v_object_name;SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR);



SQL Statements Performed Across Database Links run Slowly. Explain Plan Shows Function SYS_OP_C2C has been Applied to Predicates, and Query uses a Full Table Scan. (Doc ID 2010872.1)
SYS_OP_C2C Causing Full Table/Index Scans (Doc ID 732666.1)
https://blogs.oracle.com/oraclemagazine/on-implicit-conversions-and-more
https://docs.oracle.com/cd/E21764_01/apirefs.1111/e12048/cql_elements.htm#CQLLR290
https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/Data-Type-Comparison-Rules.html#GUID-98BE3A78-6E33-4181-B5CB-D96FD9DC1694
以上就是本期关于“SQL语句绑定变量发生隐式类型转换”的性能优化案例。希望能给大家带来帮助!
欢迎关注“数据库运维之道”公众号,一起学习数据库技术。


文章转载自数据库运维之道,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




