|
今天,发现production上有一个SQL 耗了特多CPU time,于是抓了下来,看看是否可以tuning .
原始 SQL 如下(table名字改了一下):
[php]
DELETE FROM test_table_1 a
WHERE NOT EXISTS (SELECT *
FROM test_table_2 b
WHERE a.parent_id = b.id)
执行时间 60S
Buffer get: 160W
执行计划
Operation Object Name Rows Bytes Cost Object Node In/Out PStart PStop
DELETE STATEMENT Optimizer Mode=CHOOSE 1 2069
DELETE TEST_TABLE_1
HASH JOIN ANTI 1 26 2069
TABLE ACCESS FULL TEST_TABLE_1 5 M 106 M 1210
TABLE ACCESS FULL TEST_TABLE_2 46 K 181 K 48
其中
test_table_1 row count 为 4百万
test_table_2 为 为 4万
TEST_TABLE_1上的 parent_id上有index.
...
[/php] |
|