我有两个表A,B
 A有字段bh,aa1,aa2,aa3等,大概80万条记录
B有字段bh,aa1,aa2,bb1等,大概15万条记录,我想在A中和B中帐号相同的记录挑选出来,问怎样使速度最快.怎样建索引
select a.bh,a,aa1,b.bb1 from A a,B b where a.bh=b.bh 执行了很长时间才出来结果.

解决方案 »

  1.   

    在两个表的bh上面建立索引,应该比较快。
    当然了最好是建立簇索引。
    若要仅仅得到bh,那么语句这样写,应该非常快。
    select a.bh from A a,B b where a.bh=b.bh
      

  2.   

    你可以使用可视化工具添加索引比如(PLSQL Developer)或者使用SQL语句创建索引。一般表的主键就是使用索引。alter table KJNT_JUJISHA
      add primary key (CHUTO_NO, SHINKOKU_YMD)
      using index                                -- <============= 使用索引
      tablespace KOJIN
      pctfree 10
      initrans 2
      maxtrans 255
      storage
      (
        initial 64K
        minextents 1
        maxextents unlimited
      );
      

  3.   

    select a.bh,a,aa1,b.bb1 from A a,B b where a.bh(+)=b.bh
    //这么写,然后只建立a.bh索引就可以了