1.DELETE ・DML語言 ・能夠回退 ・能夠有條件的刪除 ・不能觸發任何Delete觸發器 ・當表被清空後表和表的索引講從新設置成初始大小,而delete則不能。 ・不能清空父表。 DELETE FROM 表名 WHERE 條件 2.TRUNCATE TABLE ・DDL語言 ・沒法回退 ・默認全部的表內容都刪除 ・將從新設置高水平線和全部的索引。在對整個表和索引進行徹底瀏覽時,刪除速度比delete快。 TRUNCATE TABLE 表名
3.Oracle的一些特性數據庫
在oracle裏,使用delete刪除數據之後,數據庫的存儲容量不會減小,並且使用delete刪除某個表的數據之後,查詢這張表的速度和刪除以前同樣,不會發生變化。
由於oralce有一個HWM高水位,它是oracle的一個表使用空間最高水位線。當插入了數據之後,高水位線就會上漲,可是若是你採用delete語句刪除數據的話,數據雖然被刪除了,可是高水位線卻沒有下降,仍是你剛纔刪除數據之前那麼高的水位。除非使用truncate刪除數據。那麼,這條高水位線在平常的增刪操做中只會上漲,不會下跌,因此數據庫容量也只會上升,不會降低。而使用select語句查詢數據時,數據庫會掃描高水位線如下的數據塊,由於高水位線沒有變化,因此掃描的時間不會減小,因此纔會出現使用delete刪除數據之後,查詢的速度仍是和delete之前同樣。oracle