Oracle数据库的SQL ID

博客内容揭示了SQLID如何因查询中的大小写差异、空格和注释改变而变得不同。通过实验展示了6个看似相同的SQL语句,但实际上拥有6个不同的SQLID。这表明这些因素确实影响了SQLID的生成,对于数据库管理和性能优化有重要启示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大小写,空格,注释会导致不同的SQL ID吗?答案是会。

参考了Ask Tom中的2篇文章中的实验:

以下6个SQL语句:

select /* this */* from dual;

-- 注释不同
select /* that */* from dual;

-- 大写的FROM
select /* this */* FROM dual;

-- 大写首字母From
select /* that */* From dual;

-- from之前加了多个空格
select /* this */*     from dual;

-- from之前加了多一个Tab
select /* that */*  from dual;

查询SQL ID,其结果是6个不同的ID:

select sql_id, sql_text from v$sql
where  ( sql_text like '%this%' or sql_text like '%that%' );

SQL_ID	SQL_TEXT
3n5uv2khs5hrz	select /* this */*     from dual
gqrwquv0utrb7	select /* this */* from dual
cd8h6juhw5wkk	select /* that */* from dual
dp4qdmznukfmx	select /* this */* FROM dual
3q6usz444fzcx	select /* that */* From dual
764k7wbm77d1c	select /* that */*  from dual
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值