Oracle 200多万条数据 查询优化解决方案

Oracle 200多万条数据 查询优化解决方案

Oracle 200多万条数据 查询优化
      一个检索功能,根据条件查询出来180万条数据 ,按索引列排序 , 很慢。 求解决方案啊 。
select  rownum as rowno,  t.myid,t.searchorg,t.title,t.abstract,t.author,t.publication_date_time,t.syear,t.ibz,t.subject,t.surl 
from kjbg_ysdata t
where ( contains(TITLE ,  'the')>0  or  contains(ABSTRACT ,  'the')>0  or  contains(Subject , 'the')>0 ) 
order by t.myid   ;
 
不加order by 可以秒出.  加order by 几分钟都出不来 . 
------解决思路----------------------
总数200多万,这条查询结果180多万?
加个Hint /*+ first_rows(10)*/,并去掉 rownum as rowno试下
------解决思路----------------------
t根据你所说查询180w数据不加order by t.myid的时候秒出的话,查询问题不大,目前的问题就是排序导致的,可以在t.myid上建立索引,在查询完毕后不需要在此排序,提升性能
------解决思路----------------------
oder by前后的执行计划分别贴一下
------解决思路----------------------
不加ORDER BY,把查询结果返回到临时表中,在Myid列上建立索引,查询临时表,返回结果。
这个全文索引和普通索引没办法共用?
------解决思路----------------------
把myid加一个索引试试看。