sql - 以增量方式以性能方式批量删除
问题描述
我们要删除同一个表中的一些匹配行似乎存在性能问题,因为该表有 10 亿行。
由于是 Oracle 数据库,我们也可以使用 PLSQL 进行增量删除,但我们想看看仅使用 sql 可以使用哪些选项来提高它的性能。
DELETE
FROM schema.adress
WHERE key = 6776
AND matchSequence = 1
AND EXISTS
(
SELECT 1
FROM schema.adress t2
WHERE t2.flngEntityKey = 9909
AND t2.matchType = 'NEW'
AND t2.matchType = schema.adress.matchType
AND t2.key = schema.adress.key
AND t2.sequence = schema.adress.sequence
)
额外细节
基数是 9 亿行
没有触发器
解决方案
推荐阅读
- erlang - 尝试使用计时器执行函数,但编译器说该函数未使用
- nativescript - 在 iOS 下得到以下构建错误
- r - 在 ggplot barplot 中为多个条添加组标签
- css - div 的背景图像不会正确调整大小
- javascript - 无法使用 Vue.js 从 opendweathermap 获取天气数据
- jolt - JOLT 展平未命名的嵌套数组和拆分函数
- javascript - 如何在 CodeIgniter 的模板中组织代码?
- bash - 可以在 Bash 函数中本地更改 IFS 吗?
- sql-server - 一个 sql server 可以处理多少个 SQL 作业?
- sql-server - 正则表达式 MS SQL。如何在选择中使用。