在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_DBIZ_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,按照这个思路也可以很快解决问题!