2024-06-11
Oracle 三表关联统计信息异常
两表关联时,统计信息正常
select count(1)
2 from lcpol b
3 inner join lcgrpcont g
4 on g.grpcontno = b.grpcontno
5 and g.grpcontno = '2017081000014618';
Execution Plan
----------------------------------------------------------
Plan hash value: 3988393551
-------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 35 | 2770 (1)| 00:00:34 |
| 1 | SORT AGGREGATE | | 1 | 35 | | |
| 2 | NESTED LOOPS | | 535K| 17M| 2770 (1)| 00:00:34 |
|* 3 | INDEX UNIQUE SCAN| PK_LCGRPCONT | 1 | 17 | 1 (0)| 00:00:01 |
|* 4 | INDEX RANGE SCAN | IDX_LCPOL_GRPCONTNO | 535K| 9419K| 2769 (1)| 00:00:34 |
-------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
3 - access("G"."GRPCONTNO"='2017081000014618')
4 - access("B"."GRPCONTNO"='2017081000014618')
复制
增加了一个a表的关联,统计信息就错了
select count(1)
2 from lcpol b
3 inner join lcgrpcont g
4 on g.grpcontno = b.grpcontno
5 and g.grpcontno = '2017081000014618'
6 inner join lcinsured a
7 on a.insuredno = b.insuredno
8 and a.contno = b.contno
9 and b.grpcontno = '2017081000014618';
Execution Plan
----------------------------------------------------------
Plan hash value: 2873904152
------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 91 | 91 (0)| 00:00:02 |
| 1 | SORT AGGREGATE | | 1 | 91 | | |
| 2 | NESTED LOOPS | | 41 | 3731 | 91 (0)| 00:00:02 |
| 3 | NESTED LOOPS | | 41 | 2583 | 50 (0)| 00:00:01 |
|* 4 | INDEX UNIQUE SCAN | PK_LCGRPCONT | 1 | 17 | 1 (0)| 00:00:01 |
| 5 | TABLE ACCESS BY INDEX ROWID| LCPOL | 41 | 1886 | 49 (0)| 00:00:01 |
|* 6 | INDEX RANGE SCAN | IDX_LCPOL_GRPCONTNO | 70 | | 13 (0)| 00:00:01 |
|* 7 | INDEX UNIQUE SCAN | PK_LCINSURED | 1 | 28 | 1 (0)| 00:00:01 |
------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
4 - access("G"."GRPCONTNO"='2017081000014618')
6 - access("G"."GRPCONTNO"="B"."GRPCONTNO")
filter("B"."GRPCONTNO"='2017081000014618')
7 - access("A"."CONTNO"="B"."CONTNO" AND "A"."INSUREDNO"="B"."INSUREDNO")
复制
是怎么回事?
我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
回答交流
Markdown
请输入正文
提交
相关推荐
oracle业务表的数据发生增删改,该表的索引会写redo,undo吗?
回答 6
自己简单测试一下,一目了然,为啥要猜,凭感觉?SQL>createtablet1(idnumber);Tablecreated.SQL>insertall2intot1values(1)3
Oracle数据库的哪种数据类型精度最高?
回答 2
已采纳
TIMESTAMP数据类型在Oracle中精度最高,通常可以精确到微秒(百万分之一秒)。
如果定期清除oracle数据库审计表
回答 2
也可以把审计改成os或者xml,然后使用操作系统脚本根据时间定期删除当然,还是不建议开审计,增加维护成本
请问有试过在OGG目标端开启归档日志的么?会影响传输不?
回答 1
一般都会开的;归档其实不影响传输速度。当然前提是你机器性能还过得去。
ORACLE 主机sqlplus登录时记录连接终端的IP地址
回答 3
已采纳
1、oracle 用户的.bashprofile写入exportMYIP\'whoami|awk'{print$NF}'|sede's/[()]//g'\'echo"execdbmssess
数据量大的表该怎么提升查询速度
回答 11
执行计划里面有没有回表?索引本身的碎片问题严重吗?
Oracle:建表的时候没有重复语句 ,为什么查表有重复记录 ,用distinct只会在查询结果中去重没有删除表重复记录 ?
回答 4
已采纳
因为最开始没有设置约束条件。查询只是查询。不会删除。建议删除重复数据后加上主键或者唯一约束。或者清空数据后加上主键或者唯一约束。以后就不会有了。
如何清除不存在的归档日志
回答 23
最后咋解决的呀,学习学习
ogg 源和目标的表数据不一致了
回答 1
好像没吧?可以试试ogg的监控工具oggdirector,可以比较一下数据差异。ogg本来是做得增量同步,看看是不是自己配置哪有问题导致数据不同步。
关于Oracle12c 统计信息的问题
回答 1
据我了解,系统没有记录这个参数的变更历史,可能要用logminer根据时间段找一下SYS.OPTSTATUSERPREFS$表的dml.
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~