Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【求助】从大表中删除小表中存在的记录问题

【求助】从大表中删除小表中存在的记录问题

作者头像
bisal
发布于 2019-01-29 03:09:00
发布于 2019-01-29 03:09:00
5.5K0
举报

A表:30万,主键ID B表:300万,主键ID 从B表中删除ID=A表ID的记录。 DELETE FROM B WHERE EXISTS (SELECT 1 FROM (SELECT ID FROM (SELECT T.ID, ROWNUM RN FROM A) WHERE RN > 0 AND RN <= 50000) AB WHERE A.ID = B.ID); 但执行计划显示COST较大,且瓶颈是B表的全表扫描。 需求是这里有B1 ... B10多个B表(都是300万),串行操作相当于10次B表的全表扫描,因为磁盘IO性能较差,执行单个DELETE时都可能占据较大CPU,所以不能并行。 是否还有优化空间呢?请高手指点,谢谢! Execution Plan ---------------------------------------------------------- Plan hash value: 3752040547 ------------------------------------------------------------------------------------------------- | Id  | Operation               | Name          | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     | ------------------------------------------------------------------------------------------------- |   0 | SELECT STATEMENT        |               |   225K|    15M|       | 18309  (1)| 00:03:40 | |*  1 |  HASH JOIN RIGHT SEMI   |               |   225K|    15M|  4168K| 18309  (1)| 00:03:40 | |*  2 |   VIEW                  |               |   133K|  2604K|       |    88  (2)| 00:00:02 | |   3 |    COUNT                |               |       |       |       |     |          | |   4 |     INDEX FAST FULL SCAN| P_A                |   133K|   911K|       |    88  (2)| 00:00:02 | |   5 |   TABLE ACCESS FULL     | B                |  3598K|   171M|       |  7448  (1)| 00:01:30 | ------------------------------------------------------------------------------------------------- Predicate Information (identified by operation id): ---------------------------------------------------    1 - access("A"."ID"="ID")    2 - filter("RN">0 AND "RN"<=50000)

Statistics ----------------------------------------------------------           1  recursive calls           0  db block gets       27479  consistent gets           0  physical reads           0  redo size       11651  bytes sent via SQL*Net to client         645  bytes received via SQL*Net from client          13  SQL*Net roundtrips to/from client           0  sorts (memory)           0  sorts (disk)         168  rows processed

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2013年09月30日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
JS 外观模式
外观模式(Facade)为子系统中的一组接口提供了一个一致的界面,此模块定义了一个高层接口,这个接口值得这一子系统更加容易使用。 外观模式在JS中常常用于解决浏览器兼容性问题。
前端下午茶
2018/10/22
1.3K0
JS单例模式和策略模式
开发中,我们或多或少地接触了设计模式,但是很多时候不知道自己使用了哪种设计模式或者说该使用何种设计模式。本文意在梳理常见设计模式的特点,从而对它们有比较清晰的认知。
星辰大海c
2023/11/24
1790
javascript的惰性函数是什么?
大家应该都听说过JavaScript的立即执行函数,但是惰性函数是个什么东东?通过下面的 🌰大家就知道为什么会有惰性函数式?
程序猿川子
2025/04/02
360
javascript的惰性函数是什么?
设计模式(12)[JS版]--JavaScript必会设计模式之外观模式(Façade Pattern)
外观模式为子系统提供了一个接口,它屏蔽一个或多个子系统的复杂功,提供了一个一致的界面(接口)给用户。外观模式是一个非常简单的模式,但它的功能却很很强大,非常有用。外观模式不仅简化类中的接口,而且对接口与调用者也进行了解耦。外观模式可以将一些复杂操作封装起来,并创建一个简单的接囗用于调用,它经常出现在多层架构的系统中。
AlbertYang
2020/09/08
7250
设计模式(12)[JS版]--JavaScript必会设计模式之外观模式(Façade Pattern)
JavaScript专题之惰性函数
我们现在需要写一个 foo 函数,这个函数返回首次调用时的 Date 对象,注意是首次。
疯狂的技术宅
2019/03/28
4570
以jq为案例查看外观模式
套餐服务–外观模式,属于大类结构型设计模式的一种,通常是为一组复杂的子系统接口提供一个更高级的统一接口,通过这个接口让使用者对子系统的接口更加容易访问。
RobinsonZhang
2018/12/19
6880
参与者模式
JavaScript中的参与者模式,就是在特定的作用域中执行给定的函数,并将参数原封不动的传递,参与者模式不属于一般定义的23种设计模式的范畴,而通常将其看作广义上的技巧型设计模式。
WindRunnerMax
2020/12/25
6300
js惰性函数
阿超
2023/11/09
2730
【JS】530- 一文看懂高阶函数
高阶函数 函数可以作为参数传递 函数可以作为返回值输出 函数作为参数传递 回调函数 在ajax异步请求的过程中,回调函数使用的非常频繁 在不确定请求返回的时间时,将callback回调函数当成参数传入
pingan8787
2020/03/19
7220
【JS】530- 一文看懂高阶函数
JQuery分析及实现part5之事件模块功能及实现
JQuery模块分析及其实现第五部分事件部分功能及实现,接第四部分! remove 方法 功能:将筛选出来的所有 dom 元素删除掉 实现思路 遍历 this 上的所有 dom 元素; 获取当前 dom 元素的父节点,调用 removeChild 方法删除自己; 循环结束,返回 this . remove: function() { return this.each(function() { this.parentNode.removeChild(this); }); },
ihoey
2018/10/31
6310
JavaScript设计模式与开发实践 - 高阶函数的应用
定义 高阶函数是指至少满足下列条件之一的函数: 函数可以作为参数被传递; 函数可以作为返回值输出。 JavaScript语言中的函数显然满足高阶函数的条件,在实际开发中,无论是将函数当作参数传递,还是让函数的执行结果返回另外一个函数,这两种情形都有很多应用场景,以下就是一些高阶函数的应用。 应用 作为参数传递 ajax异步请求 // callback为待传入的回调函数 var getUserInfo = function(userId, callback) { $.ajax("http://xxx
laixiangran
2018/04/11
9050
js 高阶函数之柯里化
就是只传递给函数某一部分参数来调用,返回一个新函数去处理剩下的参数(==闭包==)
Krry
2019/05/24
2.9K0
不知道怎么提高代码质量?来看看这几种设计模式吧!
程序猿的本职工作就是写代码,写出高质量的代码应该是我们的追求和对自己的要求,因为:
蒋鹏飞
2020/10/15
3720
jQuery VS JavaScript原生API
如今技术日新月异,各类框架库也是层次不穷。即便当年漫山红遍的JQuery(让开发者write less, do more,So Perfect!!)如今也有被替代的大势。但JS原生API写法依旧;并且有时候只不过小写一个Demo,或者产品中只有少量的前端效果或DOM操作,就去花时间&空间引入jQuery,或者React?不免有取宰牛之刀以杀鸡之嫌。 在jQuery的温柔乡里,是否还能记得原生她javascript原生?如果仅为使用个选择器($)或者类似的东西,是否真的有必要加载jQuery?故此了解下JS常
晚晴幽草轩轩主
2018/03/27
1.6K0
修炼内功之JavaScript设计模式(二)
一旦我们将这些设计模式整理学习并融会贯通后,便可以大大增强我们的编程功底,在遇到实际业务需求时,给我们提供更好的解决问题的思路。
童欧巴
2020/03/30
4440
修炼内功之JavaScript设计模式(二)
函数柯里化
上一节介绍了高阶函数的定义,并结合实例说明了使用高阶函数和不使用高阶函数的情况。后面几部分将结合实际应用场景介绍高阶函数的应用,本节先来聊聊函数柯里化,通过介绍其定义、比较常见的三种柯里化应用、并在最后实现一个通用的 currying 函数,带你认识完整的函数柯里化。
Tiffany_c4df
2019/09/04
9490
函数柯里化
JavaScript-设计模式·基础知识
《JavaScript 设计模式与开发实践》是去年在多看阅读上买的电子书,拖延症晚期患者在快一年后终于把这本书粗略读完,顺便做个笔记,加以总结,以便往后重新翻阅温习。
数媒派
2022/12/01
4400
《JavaScript设计模式》很有感
之前总听到设计模式很重要,于是发现了一本好书——《JavaScript设计模式》,写的通俗易懂,用一个个故事串起了一整本书,(定义一般都比较晦涩难懂,可以先看看使用场景再回来理解相关定义) 先给个书的链接: JavaScript设计模式-张容铭
前端小哥哥
2023/05/04
3990
JavaScript 设计模式学习第十五篇-外观模式
外观模式(Facade Pattern)又叫门面模式,定义一个将子系统的一组接口集成在一起的高层接口,以提供一个一致的外观。外观模式让外界减少与子系统内多个模块的直接交互,从而减少耦合,让外界可以更轻松地使用子系统。本质是封装交互,简化调用。
越陌度阡
2020/11/26
5020
JavaScript 设计模式学习第十五篇-外观模式
使用JavaScript学习设计模式
之后紧接着买了这本JavaScript 设计模式核⼼原理与应⽤实践,刚好最近有小册免费学的活动,就赶紧把这篇笔记整理出来了,并且补充了小册子中的没有写到的其余设计模式,学习过程中结合 JavaScript 编写的例子,以便于理解和加深印象。
九旬
2021/04/12
7480
使用JavaScript学习设计模式
相关推荐
JS 外观模式
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档