oracle查询使用order by变慢的问题 oracle版本10.1.0 一条简单的sql,在pl/sql里执行,表里共有20多w条记录: select * from table (1s) select * from table order by date_report desc (18s) 加上order by date_report desc后竟要耗费18秒,这样的速度我想没有客户能接受。 开始优化: 首先在表里建立date_r...
后来在plus中执行select count(1) from fee,也特别慢,这张表一共才50w的数据。 配置: Oracle 11G RAC 、linux redhat操作系统 处理过程: 我最开始认为是不是查询语句的问题,或者索引的问题。于是把性能差的语句截出来看了看。 SELECT * FROM (select * FROM v$sqlarea order BY disk_reads DESC )where ROWN...
34、没有必要时不要用DISTINCT和ORDER BY,这些动作可以改在客户端执行。它们增加了额外的开销。这同UNION 和UNION ALL一样的道理。 select top 20 ad.companyname,comid,position,ad.referenceid,worklocation, convert(varchar(10),ad.postDate,120) as postDate1,workyear,degreedescription FROM jobcn_query.dbo...
WHERE A.SAMPLE_TIME BETWEEN SYSDATE - 30 / 2880 AND SYSDATE GROUP BY S.SID, S.USERNAME ORDER BY TOTAL_WAIT_TIME DESC; 1. 2. 3. 4. 5. SELECT A.PROGRAM, A.SESSION_ID, A.USER_ID, D.USERNAME, S.SQL_TEXT, SUM(A.WAIT_TIME + A.TIME_WAITED) TOTAL_WAIT_TIME FROM V$ACTIVE_SESSIO...
今天讲一次大事务回滚导致的数据库奇慢 1. 现象 公司一套测试数据库User反应查询还可以,做DML操作没有反应,会hang住 2. 原因查找 2.1 查看等待事件 select* from v$session_wait order by event desc ; 发现有大量的checkpoint incompleted和Wait for a undo record等待 ...
SELECT SQL_TEXT FROM (SELECT * FROM V$SQLAREA ORDER BY DISK_READS) WHERE ROWNUM<=5 desc; 3、查找前十条性能差的sql SELECT * FROM (SELECT PARSING_USER_ID EXECUTIONS,SORTS,COMMAND_TYPE,DISK_READS, SQL_TEXT FROM V$SQLAREA ORDER BY DISK_READS DESC) WHERE ROWNUM<10 ; ...
1、查询速度慢的原因很多,常见如下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I/O吞吐量小,形成了瓶颈效应。3、没有创建计算列导致查询不优化。4、内存不足5、网络速度慢6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)7、锁或者死锁(这也是查询慢最...
order by desc SID USERNAME WAIT_CLASS TOTAL_WAITS TIME_WAITED_SECS SYS User I/O SYS User I/O SYS Neork SYS Neork SYS Application 这个时候 就可以检查标准的单独等待事件就如在以前版本的Oracle数据库中查询V$SESSION_WAIT和V$SESSION_EVENT视图 在Oracle g数据库中DBA还将可以找出新的等待类型在这两张...
如果不怕,占用空间的话,1。创建物理视图。在试图中固化排序。2。你的数据是百万级别,测试一下你的时间是耗费在排序上,还是数据提取上。甚至显示上。3。你的id是数字型的吧,要是字符型,那肯定慢啊。4。使用存储过程中的pipeline来提取数据。
tbl_animal_infoa, tbl_Enterprisee, tbl_Enterprisesh, tbl_Regionr whered.ANIMAL_ID=a.id anda.ENTERPRISE_ID=e.id(+) anda.owner_name=to_char(sh.id(+)) ande.REGION_ID=r.id andr.codelike'331082%' orderbyd.iddesc)t whererownum=20)re wherere.rn=1 sql-2第一次执行3.2秒,后面都是0.4...