(1)
select *
  from im.im_inout_store A, im.im_inout_store_detail B
 where A.BUSI_ID = B.BUSI_ID
  and (b.status_date between to_date('20101212'||'000000', 'yyyymmddhh24miss') and
  to_date('20101212'||'235959', 'yyyymmddhh24miss'))
  and a.res_kind_id = 'rsclM'
  --and b.res_kind_id = 'rsclM'
  and a.region = 11
  and b.region = 11
执行计划如下:
(2)
select *
  from im.im_inout_store A, im.im_inout_store_detail B
 where A.BUSI_ID = B.BUSI_ID
  and (b.status_date between to_date('20101212'||'000000', 'yyyymmddhh24miss') and
  to_date('20101212'||'235959', 'yyyymmddhh24miss'))
  and a.res_kind_id = 'rsclM'
  and b.res_kind_id = 'rsclM'
  and a.region = 11
  and b.region = 11
执行计划如下:
疑问如下:
1. 第一个sql的全表扫描, 是执行了什么操作, 换句话说全表扫描是为了做什么工作的?
2. 第二个sql:为什么加了and b.res_kind_id = 'rsclM'(当然这样不符合业务需要) 就可以用到索引了?
3. 第一个sql如何优化呢?注:-------------------------下面是索引----------------------------------------------------------------
create index IDX_IMINOUTORG on IM_INOUT_STORE (RES_KIND_ID, STORE_ID, PARTNER_ID);
create index IDX_IMINOUTRELA on IM_INOUT_STORE (RES_KIND_ID, RELA_BUSI_ID);
create unique index PK_IMINOUTSTORE on IM_INOUT_STORE (RES_KIND_ID, BUSI_ID, REGION);create index IDX_IMINOUTDETAILBUSI on IM_INOUT_STORE_DETAIL (BUSI_ID);
create index IDX_IMINOUTDETAILRELA on IM_INOUT_STORE_DETAIL (RELA_BUSI_ID);
create index IDX_IMINOUTDETAILTYPE on IM_INOUT_STORE_DETAIL (REGION, RES_KIND_ID, RES_TYPE_ID, SPECIAL_ATTR);
create unique index PK_IMINOUTSTOREDETAIL on IM_INOUT_STORE_DETAIL (RES_KIND_ID, STATUS_DATE, BUSI_ID, INV_ID, REGION);