我建了一个视图,但现在查询起来速度特别慢,不知道是怎么回事,建立视图的代码如下,请大家帮忙看一下,多谢了! 把a.RESULT = 'DELIVRD'放到where的后面我记得sql在执行的时候and条件越精确匹配筛选效率越高。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 特别慢说明执行的是全表扫描.需要建立相关的索引,并分析这两个表.但不要以为建索引就快,比如在a.RESULT 上建立索引,但如果a.RESULT 的值大部分都是DELIVRD,则oracle还是会用全表扫描的. SELECT a.RESULT, b.COMPANY, b.DESTTERMID, b.FEECODE, b.FEETYPE, b.MSGCONTENT, b.MSGLEN, b.SAVETIME, b.SERVICEID, b.SMID, b.SRCTERMID, b.STATUS FROM OPERATOR.CNGP_SEND_RESULT a , OPERATOR.CNGP_SMS b WHERE ( ( a.DESTTERMID = b.desttermid ) and (a.msgid = b.smid) and (a.RESULT = 'DELIVRD') ) View 慢表示上面的SQL 慢.看看执行计划. 其实这条SQL语句是没有任何可以优化的,可以试着在表上建立索引,提高查询速度 这个视图或说是查询已经没什么好看的了,并没有复杂的结构速度慢的可能有很多,初始参数设置不合理,索引没建或建的不好,查询中存在大字段的内容(或如varchar2(4000)的字段很多)等等 在sqlplus 下,执行select * from VIEW_CNGP_SMS;看速度如何?可能不是ORACLE的问题,是不是应用程序的问题? 不是,就是直接在oracle中打开view看内容,要等超过半分钟才出内容,而且没有记录,以前用sql server的视图很好用,没想到oracle中怎么会这样呢 同意 luxuezhu(卢冲) ( )其实这条SQL语句是没有任何可以优化的,可以试着在表上建立索引,提高查询速度先试着建索引看看吧 oracle中not exist 和not in的区别 大家帮忙,sql如何优化. ORA-19550问题 小ks 请教一个小问题 在线等急求SQL1? 诡异的问题,高手帮忙看看! 请问select sum(kk) as mm from table where mm<'88'这句sql对吗?? 100分相送! 谁有powerDesigner的电子书,急呀,网上找了一天,都没呀? SQL求解! 谁有oracle 的数据库恢复工具dul? 我的表创建参数FREELISTS无效??
需要建立相关的索引,并分析这两个表.
但不要以为建索引就快,比如在a.RESULT 上建立索引,但如果a.RESULT 的值大部分都是DELIVRD,则oracle还是会用全表扫描的.
a.RESULT,
b.COMPANY,
b.DESTTERMID,
b.FEECODE,
b.FEETYPE,
b.MSGCONTENT,
b.MSGLEN,
b.SAVETIME,
b.SERVICEID,
b.SMID,
b.SRCTERMID,
b.STATUS
FROM OPERATOR.CNGP_SEND_RESULT a , OPERATOR.CNGP_SMS b WHERE (
( a.DESTTERMID = b.desttermid )
and
(a.msgid = b.smid)
and
(a.RESULT = 'DELIVRD')
) View 慢表示上面的SQL 慢.
看看执行计划.
其实这条SQL语句是没有任何可以优化的,可以试着在表上建立索引,提高查询速度先试着建索引看看吧