我现在有表结构;
create table TBBOOKDATA
(
  ITEMID           NUMBER not null,
  URL              VARCHAR2(300),
  ITEMNAME         VARCHAR2(100),
  AUTHOR           VARCHAR2(100),
  ISBN             VARCHAR2(20),
  PUBLISHER        VARCHAR2(100),
  ABSTRACT         VARCHAR2(4000),
  IMAGE_URL        VARCHAR2(300),
  ADDTS            DATE,
  PRICE            VARCHAR2(100),
  ABSTRACT2        VARCHAR2(4000),
  UPDATETS         DATE,
  CAN_BUY          VARCHAR2(8) default 'y',
  CAN_READ         VARCHAR2(8) default 'y',
  REAL_PRICE       VARCHAR2(100),
  PUBLICATION_DATE VARCHAR2(100),
  ITEM_TYPE        VARCHAR2(8),
  ITEM_QUALITY     NUMBER,
  CATEGORY         VARCHAR2(100),
  AUDITRESULT      NUMBER default -1,
  AUDITVIEW        VARCHAR2(500)
)
请问,怎么在这个表上创建以URL 为键的索引,谢谢,在线等

解决方案 »

  1.   

    create index idx_URL on TBBOOKDATA(URL);
      

  2.   

    仅仅是这样就好了吗,好像上次这个标有100w条数据的时候,查询速度还是很慢,是不是索引要更新的,或者create index 之后好药有其他操作索引才能生效,查询效率才会大大提高?
      

  3.   

    select count(*) from tbbookdata where url=inurl,这样的查询效率还是很低啊
      

  4.   

    如果表数据很大,一般对创建的索引都要定时对表和索引进行分析,这样才能尽量保证优化器CBO走index
      

  5.   

    建议建立一个URL基础表与BOOK链接,BOOK就不要建立URL了。
    一般不会安URL进行查询
      

  6.   

    --送上
    1、创建唯一索引
        create unique index index_name on table_name(id);    2、创建单列索引
        create index i_name on tb_name(name);--建立表tb_name中name字段索引    3、创建复合索引
        create index i_deptno_job on emp(deptno, job);  --由表emp的deptno和job字段建立的复合索引    4、重建索引
        alter index index_name rebuild;
        5、删除索引
        drop index index_name;