我在 Linux下装了Oracle10g,原来是跑在windows上的,但是发现有一个查询很慢。
表结构如下:
a(id,code,name)对id和code建过索引
b(id,aid,money)
视图:v:select aid id ,sum(money) money from b group by aid;其中a表大约有80000条数据,v有10000条数据。 查询:select * from (select a.*,v.money from a,v order by code) b where rownum<20 很慢,以到达不能接受的程度。
但是 select a.*,v.money from a,v order by code很快,在windows上的数据库查询select * from (select a.*,v.money from a,v order by code) b where rownum<20  很快,

解决方案 »

  1.   

    linux操作系统的内存、硬盘内存以及swap大小有没问题?
      

  2.   

    试试下面的语句select * from (select /*+ first_rows */a.*,v.money from a,v order by code) b where rownum<20 
      

  3.   


    表多大, 有没有索引? 看下执行计划?------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    Q Q 群:62697716