linux Oracle 下使用rownum很慢 - Oracle / 开发
我在Linux上装了Oracle数据库,其中有一个表,大约有90000条数据,用Oracle进行分页查询的时候,发现很慢
sql语句如下:
select *
from (select row_.*, rownum rownum_
from (select * from usercontract
order by CODE) row_)
where rownum_ <= 100
and rownum_ > 80
其中code不是主键,但是我按照code建了索引,
查询大约需要7s,
各位高手请帮忙分析一下
执行计划是什么?下面的写法可以少扫一次,试试:
SQL code:
select * from (
select rownum rn, t1.*
from usercontract t1
order by code) t2
where t2.rn between 80 and 100;
应该不是ROWNUM造成的,你的执行计划看看怎么走的
LZ请重新分析一下表和编译索引,如果你是在导入数据前创建的索引信息,或者索引时很久以前创建的,然后尝试下一下方式是否好用。
其次,请尝试一下几种方式,是否可以提高效率
1、假如你创建的索引名字叫做:IDX_CONTRACT_CODE,那么你这样尝试一下方法1:
SQL code:
SELECT *
from (SELECT A.*, ROWNUM RN
from (SELECT /*+INDEX_ASC(t1,IDX_CONTRACT_CODE)*/*
from USERCONTRACT T1
ORDER BY CODE) A
WHERE ROWNUM <= 100)
WHERE RN >= 80
2、方法2:
SQL cod
相关问答:
写了个测试程序如下
struct hostent *hp;
char AlarmDevIP[20];
int x2;
hp = gethostbyname("www.google.com");
if (hp)
{
......
各位大哥,帮个忙。
下个Oracle for vista 版本的安装试试
10G和11G的
http://www.oracle.com/technology/software/products/database/index.html
------------------------------------------- ......
请我用FCK上传文件,在本地的windows机上测试可以,但部署到linux服务器上就上传不了文件,上传文件时一直卡在那里。望各位大虾指点,谢谢!
路过,帮你顶一下。。。。。。。。。。。。。。
上传文件的路径问题, ......
我的处理是这样的:
我有一个很大的数据集合,处于性能方面的考虑需要使用临时表过渡,并且使用分页的方式向临时表中插入数据,数据使用完毕后,删除临时表的数据。
出现的现象:当Oracle重新启动后,第一页插入的 ......
我买了一个独立服务器 有固定IP 并且域名也已经解析到相应的IP上了
通过F-Secure SSH 也已经连上服务器 关键不会让服务器绑定上相应的域名 没法访问
也通过网上相关教程试了 可是没用 其中一个相对全一点的教程
h ......