在一台普通台式机上,win2k3+oracle9i,71W条记录,客户嫌速度慢,于是在SQLPLUS WORKSHEET里面,使用select count(*) from 试了一下,时间是11s,请问是否正常?实际应用的时候,数据量应该比这个大得多,请问有没有更快的数据库系统?

解决方案 »

  1.   


    --可以考虑内存数据库如: timesten (目前已经被oracle收购,并且oracle公司宣传称 timesten和
    ----oracle可以无缝兼容,不过价钱不便宜)--11S的查询速度,如果是客户是通过页面查询,每个人都查11S 自然是慢,你可以考虑下如何优化下你的
    ----查询语句提高下查询速度。
      

  2.   

    win2k3+oracle9i,71W条记录
    count(*) 11s速度确实有点慢,
    看你服务器配置了。
    我觉得服务器是瓶颈,数据库类型不是问题
      

  3.   

    select count(1) from table_name试试
      

  4.   

    count(*) 76万数据11秒不太正常,你的硬件配置?
    普通pc e2200 2g oracle 10g,首次查询大约2秒。
      

  5.   

    count(*) 76w数据11秒不太正常,关键是看你的硬件设备了。
    提高服务器的硬件配置内存、硬盘、cpu,一般硬盘式瓶颈。
      

  6.   

    就一张简单表,我用sqlplus试了一下select count(*) from table1,不敢说既查即出,但速度很快,如果用sqlplus worksheet查的话,速度就这么慢我不知道还能怎么快…… 应用很简单:里面有个关键ID,要么select min(id) from table1 where id < :id,要么select max(id) from table1 where id > :id,利用ASP+ADO查询的话,从递交页面请求到得到ID号,大约6s。客户要求即点即出。
      

  7.   

    是select max(id) from table1 where id < :id和select min(id) from table1 where id > :id
    即小于ID的最大ID,或者大于id的最小ID
      

  8.   

    这是严重的不正常,你现在只是对单表进行统计就要11S
    如果是表关联那不要一个上午啊。
    希望你看下你的数据库里的表空间搞大点。
    然后你在查询的时候select count(1) from tableName这样的查询语句查询总记录数。
    还有你数据库方面的优化。
      

  9.   

    还是从硬件上多多提升吧,比如使用PC服务器,使用小型机等。因为好的硬件系统除其内存、CPU具有优势外,最主要是其I/O能力十分强大。
      

  10.   

    刚才使用select max(id) from table1,结果是即点即出请问怎么调整才能提高select max(id) from table1 where id < :id这种查询的速度?硬件提升是不太可能的,这个都是指定的表空间放了1T了,基本占满了(里面有BLOB字段)
      

  11.   

    sqlplus和sqlplus worksheet有什么区别?为什么查询速度相差这么大呢? 
      

  12.   


    您是用sqlplus还是sqlplus worksheet?表结构有没有使用什么技巧?还是也是建立了一张简单表,然后针对ID设置了一个主键?
      

  13.   

    解决了,是oracle的参数不当,内存才128m,调整参数后,第一次查已经是飞快,而第二次查询,则速度不是一般的快了。