truncate
創(chuàng)新互聯(lián)長期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為芙蓉企業(yè)提供專業(yè)的成都做網(wǎng)站、網(wǎng)站設(shè)計,芙蓉網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
table
在功能上與不帶
where
子句的
delete
語句相同:二者均刪除表中的全部行。但
truncate
table
比
delete
速度快,且使用的系統(tǒng)和事務(wù)日志資源少。
delete
語句每次刪除一行,并在事務(wù)日志中為所刪除的每行記錄一項。
truncate
table
通過釋放存儲表數(shù)據(jù)所用的數(shù)據(jù)頁來刪除數(shù)據(jù),并且只在事務(wù)日志中記錄頁的釋放。
truncate,delete,drop放在一起比較:
truncate
table:刪除內(nèi)容、釋放空間但不刪除定義。
delete
table:刪除內(nèi)容不刪除定義,不釋放空間。
drop
table:刪除內(nèi)容和定義,釋放空間。
1、truncate在各種表上無論是大的還是小的都非常快。如果有rollback命令delete將被撤銷,而truncate則不會被撤銷。
2、truncate是一個ddl語言,向其他所有的ddl語言一樣,他將被隱式提交,不能對truncate使用rollback命令。
3、truncate將重新設(shè)置高水平線和所有的索引。在對整個表和索引進(jìn)行完全瀏覽時,經(jīng)過truncate操作后的表比delete操作后的表要快得多。
4、truncate不能觸發(fā)任何delete觸發(fā)器。
5、不能授予任何人清空他人的表的權(quán)限。
6、當(dāng)表被清空后表和表的索引講重新設(shè)置成初始大小,而delete則不能。
7、不能清空父表。
把一列設(shè)置為unused,這一列是無法恢復(fù)的(確切的說是其所包含的數(shù)據(jù)),除非是通過之前的備份文件來進(jìn)行恢復(fù),他和使用drop來刪除一樣,區(qū)別在于如果在高峰時期你用drop來刪除某些列會大大的影響數(shù)據(jù)庫的性能,而如果將某些列先設(shè)為無用,那么這些列在往后的查詢中不會顯示出來,等到合適的時間再使用drop來將這些被設(shè)為無用的列刪除,這樣既達(dá)到了刪除某些列的目的,又不會在高峰時期影響數(shù)據(jù)庫的性能。
可以用 ALTER TABLE DROP PARTITION 來刪除分區(qū),元數(shù)據(jù)和數(shù)據(jù)將被一并刪除。
全刪除
ALTER TABLE yourTable DROP PARTITION partionName1;
清數(shù)據(jù)
ALTER TABLE yourTable TRUNCATE PARTITION partionName1;
語句雖簡單、操作需謹(jǐn)慎。
本文標(biāo)題:oracle怎么撤銷刪除 如何徹底刪除oracle
鏈接URL:http://muchs.cn/article24/hjshce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、企業(yè)網(wǎng)站制作、網(wǎng)頁設(shè)計公司、域名注冊、網(wǎng)站策劃、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)