专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Oracle技术

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

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
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加一个索引试试看。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: