select * from 表名 where 条件?在条件字段加下索引

解决方案 »

  1.   

    --如果只检索一条记录.select * from 表名 where rowid=那条记录的rowid最快!
      

  2.   

    建立索引,用SELECT 语句查,WHERE条件后的字段排列顺序要与索引顺序一致
      

  3.   

    不同意dinya2003(OK) 的说法,RowID不能用作=判断,只能用< 或 >
      

  4.   

    增加主鍵
    建立合適的索引
    查詢時的SQL語句注意優化
    具體的要樓主自己去實踐才能體會導
      

  5.   

    SORRYdinya2003(OK)的说法是正确的
    SQL> select * from suser where rowid='AAAB2sAADAAAGYmAAC';USERID USERNAME   USERPASS               USERPRIV
    ------ ---------- -------------------- ----------
    3      3          3                             3SQL>
      

  6.   

    问题是:如果知道那条记录的ROWID,我就不用查它了。
      

  7.   

    索引,一百万条纪录花时0 S,不建索引也只要0.2S。配置:1.4G + 256M
      

  8.   

    建立合适的索引,
    并且在写sql时,还可以使用Hints。
    select  /*+index(col)*/  * from  table where something;
      

  9.   

    hints就是指示,强制使用索引oracle有的时候会自己判断,有可能不使用索引,一般来说只查询一条记录出来的,在查询条件上建字段索引就够了吧,注意查询条中中不要在字段上随便加函数。比如where upper(colum)  这样就用不到索引喽