我有一张之前拥有大量行的空表。
这个表大约有10列,其中许多列都有索引,并且有多列的索引。
DELETE FROM item WHERE 1=1
这需要大约40秒钟才能完成。
SELECT * FROM item
这需要4秒钟。
SELECT * FROM ITEM的执行计划如下:
SQL> select * from midas_item;
no rows selected
Elapsed: 00:00:04.29
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=19 Card=123 Bytes=73
80)
1 0 TABLE ACCESS (FULL) OF 'MIDAS_ITEM' (Cost=19 Card=123 Byte
s=7380)
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
5263 consistent gets
5252 physical reads
0 redo size
1030 bytes sent via SQL*Net to client
372 bytes received via SQL*Net from client
1 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
0 rows processed
任何关于这些为什么需要花费如此长时间以及如何解决它的想法都将不胜感激!