本帖最后由 longgedexin 于 2009-12-07 14:03:30 编辑

解决方案 »

  1.   

    你不加排序的话
    好像是按从块取出的顺序比如说 现在访问到数据块a 就把数据块a的所有行取出,如果访问到数据块b 再把数据块b所有行取出
      

  2.   

    用like的话好像还是所有记录都要查询一遍吧,所以LZ的测试语句时间基本相同
      

  3.   

    我的意思是根据Lz的测试语句并不能判定不是按rowid查询的,因为两条语句都需要全表扫描才能最后显示查询结果,所以用的时间基本相同,如果能确定rowid最小的记录对应的A是‘1000001’,最大的记录对应的A是‘300000’,那直接试试select * from test where A = '300000'
    select * from test where A = '100001'看看查询时间有没有差距吧
      

  4.   

    like '%..%'好像是用不上索引的吧?
      

  5.   

    从执行计划可以看出来两者都是使用全表扫描了
    SQL> select * from t2;        ID
    ----------
             1
             2
    SQL> select * from t2 where id like '%2%';        ID
    ----------
             2
    Execution Plan
    ----------------------------------------------------------
    Plan hash value: 1513984157--------------------------------------------------------------------------
    | Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
    --------------------------------------------------------------------------
    |   0 | SELECT STATEMENT  |      |     1 |    13 |     3   (0)| 00:00:01 |
    |*  1 |  TABLE ACCESS FULL| T2   |     1 |    13 |     3   (0)| 00:00:01 |
    --------------------------------------------------------------------------
    SQL> select * from t2 where id like '%1%';        ID
    ----------
             1
    Execution Plan
    ----------------------------------------------------------
    Plan hash value: 1513984157--------------------------------------------------------------------------
    | Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
    --------------------------------------------------------------------------
    |   0 | SELECT STATEMENT  |      |     1 |    13 |     3   (0)| 00:00:01 |
    |*  1 |  TABLE ACCESS FULL| T2   |     1 |    13 |     3   (0)| 00:00:01 |
    --------------------------------------------------------------------------
      

  6.   

    至于你问的问题
    我说说个人看法哦
    如果不加ORDER BY的话 读取出来的顺序就是从磁盘检索数据的顺序
    ORACLE默认不保证任何排序操作的
      

  7.   

    http://topic.csdn.net/u/20091109/18/89c92e8c-5a82-4854-8090-1c572f0c3ea8.html这是我以前发的一个类似的帖子
    你可以去看看
    也许会有所帮助