其中表cs_prem_info的索引列为
---agentno 单列索引
---busi_src_type, j_date 组合索引
---polno
先用执行计划语句查看sql的执行情况
步骤1:explain plan for + 跟上你要执行的SQL;
步骤2:select * from table(dbms_xplan.display());
优点:无须真正执行,快捷方便
缺点:
a.没有输出运行时的相关统计信息(产生多少逻辑读;多少次递归调用;多少次物理读情况);
b.无法判断处理了多少行;
c.无法判断表被访问了多少次;
3.分析
EXPLAIN PLAN FOR
select c.agentno, to_char(trunc(c.j_date, 'dd'), 'yyyymmdd') j_date, c.channel_code,
c.busi_src busi_src_type,
c.plan_code,
c.client_name,
c.polno,
c.tot_prem,
c.comm_rate,
c.comm,
c.is_app,
c.is_mit
from lifedata.cs_prem_info c
where c.AGENTNO = '1020399034';
select * from table(dbms_xplan.display());
复制
单列索引,必走索引
步骤二用SELECT * FROM PLAN_TABLE;
分析时
---operation列为index, object_type为index
---还有一条记录operation列为table access, object_type为table,这个是因为要查询的字段不在索引中,不能用到覆盖索引,只能回表:通过普通索引获取主键id, 再通过id在聚簇索引上拿到所有列的字段值
EXPLAIN PLAN FOR
select c.agentno, to_char(trunc(c.j_date, 'dd'), 'yyyymmdd') j_date, c.channel_code,
c.busi_src busi_src_type,
c.plan_code,
c.client_name,
c.polno,
c.tot_prem,
c.comm_rate,
c.comm,
c.is_app,
c.is_mit
from lifedata.cs_prem_info c
where c.j_date >= to_date('20190212', 'yyyymmdd')
and c.j_date < to_date('20190312', 'yyyymmdd')
and c.busi_src = 'P';
select * from table(dbms_xplan.display());
复制
组合索引,范围查询,仍走索引;索引顺序调整不会使索引失效。但是组合索引第一个条件不能缺少;并且如果要使用后面的索引条件,必须先保证用到前一个索引条件,所谓"带头大哥不能死,中间兄弟不能断", 貌似是mysql的规则,oracle没有这样的规则,oracle仍能用索引
最后修改时间:2024-03-30 12:26:46
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
SQL优化 - explain查看SQL执行计划(一)
金同学
399次阅读
2025-03-13 16:04:22
SQLE 4.0 正式版发布,新增 SQL 重写、SQL 性能追踪、语法知识图谱等功能
爱可生开源社区
368次阅读
2025-03-07 10:30:00
云和恩墨钟浪峰:安全生产系列之SQL优化安全操作
墨天轮编辑部
165次阅读
2025-03-31 11:08:20
同一条SQL开发环境比生产环境执行速度快案例分享
董小姐
159次阅读
2025-03-20 06:50:49
宝藏PEV,助力你成为SQL优化高手
xiongcc
117次阅读
2025-03-09 23:34:23
MySQL 内存那点事你还不会--PS分析+自动历史SQL分析(2)
AustinDatabases
63次阅读
2025-03-07 10:29:21
同事总写烂SQL,于是我出手了...
IT邦德
57次阅读
2025-03-18 06:40:47
GoldenDB数据库SQL画像功能,助力实现精准SQL诊断
Whill
53次阅读
2025-03-28 18:52:43
让AI读懂Oracle!使用OCI A10微调大模型生成融合查询SQL
甲骨文云技术
53次阅读
2025-03-19 11:21:10
金点分享 | GoldenDB数据库智能SQL限流,让算力精准赋能业务
Whill
49次阅读
2025-03-28 18:53:07