如何分析思考oralce的一些问题的一点感悟!

在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)

请大家帮分析,该如何处理?

 
 
 

使用道具 举报

回复
   

注册会员

newbie

 

精华贴数
0
专家积分
60
技术积分
1588
社区积分
914
注册时间
2010-8-17
论坛徽章:
79
萤石
日期:2012-06-05 09:19:46 红宝石
日期:2012-02-16 15:04:46 紫水晶
日期:2012-06-05 09:19:30 紫水晶
日期:2012-05-29 00:02:35 红宝石
日期:2012-02-16 11:01:17 萤石
日期:2012-06-04 11:32:41 萤石
日期:2012-05-29 16:42:55 红宝石
日期:2012-06-05 09:31:12 祖母绿
日期:2012-06-05 09:19:14 蓝锆石
日期:2012-05-31 10:07:22 红宝石
日期:2012-06-01 10:20:31 萤石
日期:2012-06-05 21:12:27
2#
 
  发表于 2013-5-29 15:57:19   | 只看该作者
这个表完全没理由搞成IOT

IOT 可能的适用场景:
1.全是主键的表,例如多对多的关系表
2.只会通过PK查询的表,例如代码查找的表
 
 
 
3 YEARS J2EE & ORACLE & BI DEVELOPMENT
【红包】
【徽章】
 

使用道具 举报

回复
   

注册会员

中级会员

 

精华贴数
0
专家积分
4
技术积分
1374
社区积分
3
注册时间
2006-9-14
论坛徽章:
2
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44 CTO参与奖
日期:2009-02-12 11:45:48
3#
 
  发表于 2013-5-29 17:28:31   | 只看该作者
demonat 发表于 2013-5-29 15:57 
这个表完全没理由搞成IOT

IOT 可能的适用场景:

前期开发人员设计的,现在正在整改,谢谢提醒。

先不讲具体怎么解决这个问题,说下自己的感受:

      在学技术时要搞清技术的本质,及透过技术的本质来分析问题,每一个技术的存在就有他的合理性,需要搞清楚,这个技术原理什么,什么时候能用?什么时候不能用?为什么不能用?为什么有时又能用呢?然后在丛向了解到一定的时候,需要横向进行对比,及将与该技术点相关的技术点罗列出来,在各个特性上进行对比!

就拿上述问题来说,需要首先搞清楚什么是IOT ?IOT适用哪些场景?不适用哪些场景?如果对以上很知识点很了解的话,可以迅速定位问题;就算以前没深入探究过IOT,按照这个思路也可以很快解决问题!

原文地址:https://www.cnblogs.com/javawebsoa/p/3106589.html