如何分析思考oralce的一些问题的一点感悟!
系统
1936 0
在pub闲逛时看到这么一个问题:
开发人员反应,用pl/sql developer查询mchnt这张IOT表特别慢,但其它表都很快,具体情况如下:
1、表数据量很少
select count(1) from ap07.mchnt;
COUNT(1)
----------
12
2、mchnt表的pk index的段信息:
------------------Basic Info---------------------
segment_name............................PK_MCHNT
segment_type............................INDEX
segment_owner...........................AP07
tablespace_name.........................TS_VASP
segment_management......................AUTO
initial_blocks..........................8
initial_bytes...........................65536
header_file_id..........................6
header_block_id.........................571
------------------Used Info---------------------
total_blocks............................8
total_bytes.............................65536
HWM_blocks..............................4
HWM_bytes...............................32768
used_sys_blocks.........................3
used_data_blocks........................1
Full Blocks.............................0
100%~75% Used Blocks....................0
75%~50% Used Blocks.....................1
50%~25% Used Blocks.....................0
25%~0% Used/Empty Blocks................0
last_used_blocks........................4
------------------Unused Info---------------------
unused_blocks...........................4
unused_bytes............................32768
Unformatted Blocks......................0
3、表mchnt上的索引信息
select index_name,index_type,table_name from dba_indexes where owner='AP07' and table_name='MCHNT';
INDEX_NAME INDEX_TYPE TABLE_NAME
------------------------------ --------------------------- ------------------------------
IDX_MCHNT_NO NORMAL MCHNT
SYS_IL0000116890C00016$$ LOB MCHNT
PK_MCHNT IOT - TOP MCHNT
4、表结构
desc ap07.mchnt;
Name Null? Type
------------------------------------------------------------------------ -------- -------------------------------------------------
N_USR_ID NOT NULL NUMBER(8)
C_MCHNT_NO NOT NULL CHAR(8)
C_TSC_PWD VARCHAR2(64)
N_MCHNT_TYPE CHAR(2)
N_MCHNT_GRP_ID NOT NULL NUMBER(8)
N_MCHNT_PROV_ID CHAR(6)
C_MCHNT_PROV_NAME VARCHAR2(50)
N_MCHNT_CITY_ID CHAR(6)
C_MCHNT_CITY_NAME VARCHAR2(50)
C_MCHNT_ADDR VARCHAR2(200)
N_D
BI
Z_AREA NUMBER(5,2)
C_DBIZ_MODE CHAR(1)
C_ZIPCODE CHAR(6)
C_CERT_TYPE CHAR(1)
C_CERT_NO VARCHAR2(30)
B_CERT_IMG BLOB
C_CORP_NAME VARCHAR2(20)
C_CORP_CRED_TYPE CHAR(2)
C_CORP_CRED_NO VARCHAR2(50)
C_CTT_NAME VARCHAR2(20)
C_CTT_SEX CHAR(1)
C_CTT_CRED_TYPE CHAR(2)
C_CTT_CRED_NO VARCHAR2(50)
C_TEL VARCHAR2(20)
C_MOB CHAR(11)
C_EMAIL VARCHAR2(60)
C_FAX_NO VARCHAR2(15)
N_SELL_POS_USR_ID NUMBER(8)
C_SELL_POS_USR_NAME VARCHAR2(60)
C_AUTH_BIZ_TYPE CHAR(1)
N_PRI_ID NOT NULL NUMBER(8)
C_PACT_NO VARCHAR2(50)
C_PACT_EFF_TIME DATE
C_PACT_EXP_TIME DATE
C_CLOSE_USR_SUGG VARCHAR2(600)
C_IS_SYNC_POSP CHAR(1)
C_IS_SYNC_OWS CHAR(1)
D_UP_TIME DATE
N_VERSION NOT NULL NUMBER(4)
N_MCHNT_RET_PROFIT_FLAG CHAR(1)
N_MCHNT_FEE_FLAG CHAR(1)
请大家帮分析,该如何处理?
|
|
|
|
|
|
|
-
精华贴数
-
0
-
专家积分
-
60
-
技术积分
-
1588
-
社区积分
-
914
-
注册时间
-
2010-8-17
-
论坛徽章:
-
79
|
这个表完全没理由搞成IOT
IOT 可能的适用场景:
1.全是主键的表,例如多对多的关系表
2.只会通过PK查询的表,例如代码查找的表
|
|
3 YEARS J2EE & ORACLE & BI DEVELOPMENT
【红包】
【徽章】
|
|
|
|
|
-
精华贴数
-
0
-
专家积分
-
4
-
技术积分
-
1374
-
社区积分
-
3
-
注册时间
-
2006-9-14
-
论坛徽章:
-
2
|
demonat 发表于 2013-5-29 15:57
这个表完全没理由搞成IOT
IOT 可能的适用场景:
前期开发人员设计的,现在正在整改,谢谢提醒。
|
|
先不讲具体怎么解决这个问题,说下自己的感受:
在学技术时要搞清技术的本质,及透过技术的本质来分析问题,每一个技术的存在就有他的合理性,需要搞清楚,这个技术原理什么,什么时候能用?什么时候不能用?为什么不能用?为什么有时又能用呢?然后在丛向了解到一定的时候,需要横向进行对比,及将与该技术点相关的技术点罗列出来,在各个特性上进行对比!
就拿上述问题来说,需要首先搞清楚什么是IOT ?IOT适用哪些场景?不适用哪些场景?如果对以上很知识点很了解的话,可以迅速定位问题;就算以前没深入探究过IOT,按照这个思路也可以很快解决问题!
如何分析思考oralce的一些问题的一点感悟!
更多文章、技术交流、商务合作、联系博主
微信扫码或搜索:z360901061
微信扫一扫加我为好友
QQ号联系: 360901061
您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。
【本文对您有帮助就好】元