2 u013030572 u013030572 于 2016.05.03 16:20 提问

oracle sql查询效率慢

select * from (select my_table.*,rownum as my_rownum from(
select
a.iccid,
a.batch_id,
a.imsi_c as imsi_x,
a.state_date as create_date,
'IMSL' as imsi_x_type
from recycle_imsic a
where a.c_state='3' and a.province_id='12'
)
my_table where rownum< 5001) where my_rownum>= 1

5个回答

future1999
future1999   2016.05.03 16:51
  1. 用AWR或者 select * from table(dbms_xplan.display_cursor('SQLID','0','allstats')); 查一下真实的执行计划。PL/SQL里F5显示的不一定是真实的执行计划
  2. 在sqlplus里用autotrace only 执行这条SQL,看一下逻辑读到达了多少 以上2个步骤做完后才利于下一步的分析
u013030572
u013030572   2016.05.03 16:20

图片说明

u013030572
u013030572   2016.05.03 16:20

图片说明

u013030572
u013030572   2016.05.03 16:21

图为执行计划 联合索引为c_state province_id 求大神告知怎么优化

u013030572
u013030572   2016.05.03 16:24

5000条的数据就需要20秒。。。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
检索blob,clob对象效率很慢。。
http://www.itpub.net/thread-1497816-1-1.html
oracle 语句提高查询效率的方法
oracle 语句提高查询效率的方法 1:.. where column in(select * from ... where ...); 2:... where exists (select 'X' from ...where ...); 第二种格式要远比第一种格式的效率高。在Oracle中可以几乎将所有的IN操作符子查询改写为使用EXISTS的子查询 使用EXISTS,Orac
解决模糊查询速度慢问题(ORACLE)
     一个困扰我良久的问题,在今天早上8:41分时基本解决。      数据库的数据量非常庞大,查询速度极慢,建立索引后“=”搜索速度问题解决,但是在搜索的sql语句中大部分是用like,可是like %XXX%是不使用索引的,而like XXX%则经过索引,求教曾经的老师、高级程序员也无用,在网站上搜索、求助,最终锁定两种办法:1.全文索引。2
ORACLE查询当前执行效率低的sql
ORACLE查询当前执行效率低的sql   --CPU高的SQL   select sql_text from v$sql order by cpu_time desc   --逻辑读多的SQL:   select * from (select buffer_gets, sql_text   from v$sqlarea   where buffer_gets > 500000   
Oracle模糊查询之(3.3从使用函数和sql语法角度来提高模糊查询效率 三)使用Oracle的instr函数与索引配合提高模糊查询的效率
使用Oracle的instr函数与索引配合提高模糊查询的效率 一般来说,在Oracle数据库中,我们对tb表的name字段进行模糊查询会采用下面两种方式: 1.select * from tb where name like '%XX%'; 2.select * from tb where instr(name,'XX')>0; 若是在name字段上没有加索引,两者效率差不多,基本没有
OracleSpatial处理多图层的效率问题
从原始的trc文件中可以查询出一共包含多少条这种语句。 最近碰到一个OracleSpaital的效率问题,问题的描述具体如下: 某customer在矢量数据存储方案上选择了使用OracleSpaital的SDO_GEOMETRY进行存储,但是在前端软件的出图的速度上非常慢,已经让人不能接受了,回公司后,自己模拟了一个数据分别针对于SDO_GEOMETRY和ST_GEOMETRY两种存储方式进行了测试,发现SDO_GEOMETRY的确存在着很大的效率问题,以下为测试环境以及结果: 机器1:ArcGIS
rownum与Oracle分页SQL 以及提高分页查询效率
SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) T1 WHERE ROWNUM <= 10 ) WHERE RN >= 20
Oracle模糊查询之(3.1从使用函数和sql语法角度来提高模糊查询效率 一)oracle模糊查询效率提高
oracle模糊查询效率提高 博客分类:  oracle 数据库 模糊查询 内存 技术札记   分2种思路考虑模糊查询的效率的提高。--注:专注处理百万级数据量,小量数据就算了 第一种:把数据存到业务内存中,通过查询内存提高效率。(要求:硬件内存要高) 1,如果想实现内存动态数据,可以监控表数据变化更新内存。   第二种:提高oracle数据库的
oracle中查找执行效率低下的SQL
oracle中查找执行效率低下的SQL kt431128 发布于 9个月前,共有 0 条评论 v$sqltext:存储的是完整的SQL,SQL被分割 v$sqlarea:存储的SQL 和一些相关的信息,比如累计的执行次数,逻辑读,物理读等统计信息(统计) v$sql:内存共享SQL区域中已经解析的SQL语句。(即时)     select opname, ta
sql 分组查询效率
场景:分组查询每种类型 ID值最大 的记录;             mysql数据库30W数据量。 写法一: select * from test1 t1 where t1.id in( select MAX(t.id) as id from test1 t   GROUP BY t.col1   ) 耗时超过30秒; 写法二: select t2.* fr