0

我们要删除同一个表中的一些匹配行似乎存在性能问题,因为该表有 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 亿行

没有触发器

4

0 回答 0