數據表的刪除比較簡單,表刪除後其占用的空間就被系統釋放和回收,表的刪除是無法回滾的操作。可刪除的內容包括。
表的定義 表中的數據
表中的索引 表中的約束條件
表上的觸發器 表中的權限
在【企業管理器】裡刪除表
(1)如圖7.35所示。
(2)出現如圖7.36所示界面。
(3)對應上述刪除數據表director的SQL代碼為如下。
―――――――――――――――――――――――――――――――――――――
DROP TABLE SCOTT.DIRECTOR CASCADE CONSTRAINTS;
―――――――――――――――――――――――――――――――――――――
【參見光盤文件】:\第7章\ dropdirector.sql。
(4)在【SQLPlus Worksheet】中執行dropdirector.sql的結果如圖7.37所示。
截斷和刪除的比較
TRUNCATE對所有的表的操作速度都很快,DELETE操作由於要產生大量的回滾信息,所以如果表很大,則刪除速度較慢。
TRUNCATE是DDL語言(數據定義語言),隱含了提交操作,因此不能回滾。
TRUNCATE在表上或者在所有的索引中重新設置阈值,由於全部掃描操作和索引全表的快速操作將讀所有未超過阈值的數據塊,因此DELETE操作以後全表掃描的性能不會改進,但TRUNCATE操作以後全表掃描速度將加快。
截斷表時,表和所有索引的存儲參數可以設置為初始值,但DELETE操作不能縮小一個表及索引的大小。
截斷操作不能刪除完整性約束條件,而DELETE操作可以刪除。