creat table PEOPLE(
NAME VARCHAR2(30)  not null,
ADDRESS VARCHAR2(50)  not null,
TEL VARCHAR2(30)  not null,
FAX VARCHAR2(30)  not null,
EMAIL VARCHAR2(50)  not null,
constraint PK_PEOPLE primary key (NAME)
)
能否把分页的速度提高到5秒之内
在查询时要使用order by 主键或其他字段!!
请具体写一下? 一旦可以决不食言?
我的信箱:[email protected]
不胜感激!

解决方案 »

  1.   

    原来一个B/S系统用到的
    select name,address from 
    (
      select name,address rownum mynum 
      from tb
      where ...
      order by ...
    )
    where mynum between 1 and 5注:每页显示5条记录,只写了两个字段
      

  2.   

    忘了,如果是全局排序,则:
    select name,address from
    (
      select name,address,rownum mynum from 
      (
       select name,address  
       from tb
       where ...
       order by ...
      )
    )
    where mynum between 1 and 5我的方法很笨,呵呵!
      

  3.   

    you can consider to use partitioning table . I think it's quite matching in your case . It's too long to describle the syntax and usage of partitioning here . I think there are plenty of resources available online or in the oracle manual
      

  4.   

    如果不给出适当的where条件,order by操作会占用大量的时间,而这一点用分区表是没有用的。你的查询通常会返回多少纪录(分页前)?
      

  5.   

    不知道你收到我的回信没有?
    给你说过了,分区表不是在所有的情况下是管用的,也不是在所有的情况下都能提高速度,对于你的这种情况,如果还是全表扫描,用分区表是白用。
    对于大型记录集,不知道你作分页还有什么意义,想想看,几万页,谁来看???
    你的语句是没有问题的,而且已经没有办法再优化。
    所以,我的建议是,查询上加条件,你可以采用如下思路。
    假定有200,000记录,你应该先取前10,000个记录出来
    用name<条件来限制。当用户翻页的时候,只要没有翻出这个范围,你都可以用这10,000条记录来作翻页。当用户跳到另外一个范围时,你则取那个范围上的10,000条记录。
    也就是说,不管你的数据库有多少条记录,但是你只选出特定的记录数来分页。你该用过google吧,看看人家的思路,为什么那么快!
      

  6.   

    有什么问题再发mail给我,或直接把我加入到你的好友中。不要告诉我你不会用msn
      

  7.   

    回复人: penitent(只取一瓢) ( ) 信誉:105  2003-05-06 22:29:00  得分:0 
     
     
      不知道你收到我的回信没有?
    给你说过了,分区表不是在所有的情况下是管用的,也不是在所有的情况下都能提高速度,对于你的这种情况,如果还是全表扫描,用分区表是白用。
    对于大型记录集,不知道你作分页还有什么意义,想想看,几万页,谁来看???
    你的语句是没有问题的,而且已经没有办法再优化。
    所以,我的建议是,查询上加条件,你可以采用如下思路。
    假定有200,000记录,你应该先取前10,000个记录出来
    用name<条件来限制。当用户翻页的时候,只要没有翻出这个范围,你都可以用这10,000条记录来作翻页。当用户跳到另外一个范围时,你则取那个范围上的10,000条记录。
    也就是说,不管你的数据库有多少条记录,但是你只选出特定的记录数来分页。你该用过google吧,看看人家的思路,为什么那么快!==================================================================================好方法,同意。
      

  8.   

    各位朋友,小弟近日正在学习oracle,由于授课教师水平很戳,所以学习没有多大进展,本人想请各位朋友帮我找一些oracle的电子文档或幻灯片,以助我学习提高,小弟感激不尽.来信请发:
    [email protected]
      

  9.   

    看看这个:
    http://www.cnoug.org/bin/ut/threaded_show.cgi?tid=38&pid=77http://www.cnoug.org/bin/ut/topic_show.cgi?id=192&h=1#1972
      

  10.   

    KingSunSha(弱水三千) ( ) 
    penitent(只取一瓢) ( )
    是一个人的账号吗? 要不就是热恋中的一对!
      

  11.   

    lynx1111(任我行) 
    胡扯!
      

  12.   

    楼上 tuidler() 的网站很好!谢了!
      

  13.   

    我用的 xieha(9527到!) 方法jsp连oracle分页,20万条记录,
    跳转到任意页也就2秒-5秒左右的时间。
    一千万条记录没概念