oracle中用一个复杂的子SQL的结果实现UPEDATE更新操作,单独查询子SQL速度很快,整个UPDATE时很慢?

oracle中用一个复杂的子SQL的结果实现UPEDATE更新操作,单独查询子SQL速度很快,整个UPDATE时很慢,最后我修改为将子SQL的结果先存入临时表,然后UPD... oracle中用一个复杂的子SQL的结果实现UPEDATE更新操作,单独查询子SQL速度很快,整个UPDATE时很慢,最后我修改为将子SQL的结果先存入临时表,然后UPDATE时关联临时表,效率明显提高;
谁能解释下这两种SQL方式效率为什么会差这么大?
展开
 我来答
flyingFish211
2012-07-23 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
简单点理解为update类似行扫描,每一次扫描就做一次子查询,而你的字查询估计是全表扫描,I/O支出比较大,所以比较慢

放入临时表后,减少了扫描量,从而提高了效率。
lxr_303
2012-07-23 · TA获得超过473个赞
知道小有建树答主
回答量:875
采纳率:0%
帮助的人:516万
展开全部
同求
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式