查询速度太慢了!高手帮我优化一下吧!急!!!!!

figo977 2011-12-01 02:32:03
 select
*
from
(select
a.resultid,
a.dataid,
a.tiptext,
b.title,
b.content,
b.issuetime,
b.url,
rownum as rn
from
r_resultnews a
left join
v_chn_news b
on a.dataid=b.dataid
where
a.classid=2378
and siteid in (
select
siteid
from
tg_eventstatic
where
datatype=1
and eventclass=2378
and positionid='北京'
)
and rownum>0
)
where
rn>0
and rn<=30
...全文
198 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hupeng213 2011-12-06
  • 打赏
  • 举报
回复
--select *
-- from (
select a.resultid,
a.dataid,
a.tiptext,
b.title,
b.content,
b.issuetime,
b.url,
rownum as rn
from r_resultnews a
left join v_chn_news b on a.dataid = b.dataid
where a.classid = 2378
and exists (select 1 from tg_eventstatic
where datatype = 1
and eventclass = 2378
and positionid = '北京')
and rn <= 30--由于子句中未做排序 外面再包一层没有任何区别不是吗 一句的效率肯定比两句高
/*--修改原则 exists 效率高于left join 高于in
and siteid in (select siteid
from tg_eventstatic
where datatype = 1
and eventclass = 2378
and positionid = '北京')
*/
--and rownum > 0 --这个条件任何时间都有效 不需要写
-- )
-- where rn > 0
-- and rn <= 30
阿健来了 2011-12-05
  • 打赏
  • 举报
回复

SELECT *
FROM (SELECT A.RESULTID,
A.DATAID,
A.TIPTEXT,
B.TITLE,
B.CONTENT,
B.ISSUETIME,
B.URL,
ROWNUM AS RN
FROM R_RESULTNEWS A
LEFT JOIN V_CHN_NEWS B
ON A.DATAID = B.DATAID
WHERE A.CLASSID = 2378
AND EXISTS(SELECT 1 FROM TG_EVENTSTATIC c
WHERE a.SITEID=c.SITEID
AND DATATYPE = 1
AND EVENTCLASS = 2378
AND POSITIONID = '北京')
AND ROWNUM > 0)
WHERE RN > 0
AND RN <= 30

这样会不会好点
JS 2011-12-05
  • 打赏
  • 举报
回复
lz把具体情况阐述一下吧
oO寒枫Oo 2011-12-01
  • 打赏
  • 举报
回复
siteid 是r_resultnews 的 还是 是v_chn_news 的
jym2002 2011-12-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 figo977 的回复:]
需求就是查询北京地区发表关于专题id号为2378的新闻数量
[/Quote]

--------------
执行计划,数据量贴下
figo977 2011-12-01
  • 打赏
  • 举报
回复
需求就是查询北京地区发表关于专题id号为2378的新闻数量
我心飞翔 2011-12-01
  • 打赏
  • 举报
回复
请给出各个表的表结构,和查询的需求。
figo977 2011-12-01
  • 打赏
  • 举报
回复
查询出来14条 数据 大概要2分钟吧!
代码下载链接: https://pan.quark.cn/s/a4b39357ea24 第 一 章 概述 1-1 简述计算机程序设计语言的发展阶段。 解: 自从计算机诞生以来,程序设计语言经历了从机器语言、汇编语言到高级语言的演变过程,C++语言作为一种面向对象的编程语言,也属于高级语言范畴。 1-2 面向对象的编程语言具备哪些特性? 解: 面向对象的编程语言与传统的编程语言有着本质的区别,其设计初衷是为了更直观地模拟现实世界中存在的事物及其相互关系。这类编程语言将客观事物视为具有属性和行为的对象,通过抽象方法提取出同一类对象的共同属性(静态特征)和行为(动态特征),从而构建类。借助类的继承与多态机制,能够便捷地实现代码复用,显著缩短软件开发周期,并确保软件风格的一致性。因此,面向对象的编程语言使得程序能够较为准确地反映问题域的本质,软件开发人员可以运用人类惯用的思维模式进行开发工作。C++语言是目前应用最为广泛的面向对象编程语言。 1-3 结构化程序设计方法是什么?这种方法有哪些优势和不足? 解: 结构化程序设计的核心思想是自顶向下、逐步求精;其程序结构按照功能划分为多个基本模块;各模块之间的关联尽可能简化,在功能上保持相对独立性;每个模块内部均由顺序、选择和循环三种基本结构构成;模块化实现的具体途径是利用子程序。结构化程序设计由于采用模块分解与功能抽象,自顶向下、分而治之的策略,从而有效地将一个较为复杂的程序系统设计任务分解成许多易于管理和处理的子任务,便于开发与维护。 尽管结构化程序设计方法具备诸多优点,但它本质上仍是一种面向过程的程序设计方法,将数据与处理数据的操作分离为相互独立的实体。当数据结构发生变化时,所有相关的处理过程都需要进行相应的调整,每一种...

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧