暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

执行计划简单分析

原创 subverter 2024-04-15
152

这边执行计划如下:

问题sql语句:

SELECT

t.row_id,

T.MATERIAL_CODE, --鐗╂枡缂栧彿

T.MATERIAL_DESCRITION, --鐗╂枡鎻忚堪

T.MATERIAL_TYPE, --鐗╂枡绫诲瀷

t.LAB_STUDIO,--瀹為獙瀹

t.created,--鍒涘缓鏃堕棿

TT.PRO_BAND, --鍝佺墝

'' PRO_BAND_name,

t.DEPARTMENT,

'' department_name,

t.BASIC_MTL,

'' basic_mtl_name,

'' product_line_code_name,

tt.PRODUCT_LIST,

--d.value_meaning product_line_code_name,

tt.IS_CRUST_FLAG,

TT.MARK_FLAG,

TT.MARK_DATE,

TT.PRODUCTION_START_DATE,

TT.PRODUCTION_END_DATE,

t.DELETE_FLAG,

T.PROD_LIFE_STATE,

T.PA_DATE_PLAN,

T.PA_DATE_ACTUAL,

T.EM_DATE_PLAN,

T.EM_DATE_ACTUAL,

tt.pro_use,

tt.kind_one,

t.created_by,

GREATEST(DECODE(T.LAST_UPD,

NULL,

TO_DATE('1900/01/01', 'YYYY/MM/DD'),

T.LAST_UPD),

DECODE(TT.LAST_UPD,

NULL,

TO_DATE('1900/01/01', 'YYYY/MM/DD'),

TT.LAST_UPD)) LAST_UPD --鏇存柊鏃ユ湡

FROM HM_MTL_GENERAL T,

HM_MTL_ADDITIONAL_DATA TT

WHERE (t.created_by is null or t.created_by!='HOPE') and t.row_id = tt.

material_id

;

HM_MTL_GENERAL row_id列的统计信息,唯一值较高适合创建索引,但是该列上已经创建了一个唯一索引PK_HM_MTL_GENERAL

COLUMN_NAME DATA_TYPE N NUM_DISTINCT DENSITY NUM_BUCKETS NUM_NULLS GLO USE SAMPLE_SIZE TO_CHAR(T.LAST_ANAL

-------------------- ------------------------------ - ------------ ---------- ----------- ---------- --- --- ----------- -------------------

ROW_ID VARCHAR2 N 2316682 4.3005E-07 254 0 YES NO 17685 2016-02-17 22:09:40

Where条件执行时间和结果

SYS@haiermdm3>Select count(material_id) from HAIERMDM.HM_MTL_ADDITIONAL_DATA;

COUNT(MATERIAL_ID)

------------------

1100968

Elapsed: 00:00:00.06

SYS@haiermdm3>set timing on

SYS@haiermdm3>Select count(row_id) from HAIERMDM.HM_MTL_GENERAL where created_by is null or created_by!='HOPE';

COUNT(ROW_ID)

-------------

2316922

Elapsed: 00:00:02.08

HM_MTL_GENERAL的表2319320行,

TABLE_NAME NUM_ROWS BLOCKS EMPTY_BLOCKS AVG_SPACE CHAIN_CNT AVG_ROW_LEN GLO USE SAMPLE_SIZE TO_CHAR(A.LAST_ANAL

---------------------------------------- ---------- ---------- ------------ ---------- ---------- ----------- --- --- ----------- -------------------

HM_MTL_GENERAL 2319320 142256 0 0 0 366 YES NO 2319320 2016-02-23 15:44:08

需要的行数已经占表HM_MTL_GENERAL 40%以上,数据库认为全表扫描更快,其为正确的执行计划。

SYS@haier3>select round(1100968/2316922,2)*100||'%' from dual;

ROU

---

47%

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论