truncate會(huì)使索引失效嗎 oracle數(shù)據(jù)表分區(qū),truncate或drop后會(huì)導(dǎo)致索引失效,除了重建索引有沒(méi)有更好的快速解決方法?
oracle數(shù)據(jù)表分區(qū),truncate或drop后會(huì)導(dǎo)致索引失效,除了重建索引有沒(méi)有更好的快速解決方法?一種方法是在每個(gè)分區(qū)中創(chuàng)建相同的索引,而不是創(chuàng)建全局索引。這樣,當(dāng)您截?cái)嗷騽h除一個(gè)分區(qū)時(shí),只需
oracle數(shù)據(jù)表分區(qū),truncate或drop后會(huì)導(dǎo)致索引失效,除了重建索引有沒(méi)有更好的快速解決方法?
一種方法是在每個(gè)分區(qū)中創(chuàng)建相同的索引,而不是創(chuàng)建全局索引。這樣,當(dāng)您截?cái)嗷騽h除一個(gè)分區(qū)時(shí),只需刪除該分區(qū)的索引,而不影響其他分區(qū)
~]--刪除表結(jié)構(gòu),刪除表內(nèi)的數(shù)據(jù)和表上的索引,依此類(lèi)推表名--清除數(shù)據(jù),只有data truncate table name--按條件刪除數(shù)據(jù)delete from table name where condition--刪除所有數(shù)據(jù),但不釋放空格delete from table name。這樣,delete from table name和truncate table name看起來(lái)是一樣的,但是truncate在執(zhí)行之后會(huì)釋放數(shù)據(jù)庫(kù)空間,而delete不會(huì)釋放空間drop table name如果運(yùn)行truncate和drop,觸發(fā)器、存儲(chǔ)過(guò)程、函數(shù)等都會(huì)失效。如果運(yùn)行truncate,可以重新編譯,但刪除后可能會(huì)永遠(yuǎn)無(wú)效
delete語(yǔ)句
delete語(yǔ)句用于刪除表中的行。
語(yǔ)法
從column name=value的表名中刪除
刪除行
從column name=value的表名中刪除(刪除條件)
刪除所有行
您可以刪除所有行而不刪除表。這意味著表的結(jié)構(gòu)、屬性和索引都是完整的:
delete from table name或:
delete*from table name
使用drop語(yǔ)句,可以輕松地刪除索引、表和數(shù)據(jù)庫(kù)
dropindex name
droptable name
dropDatabase database name
不要?jiǎng)h除表,只刪除表中的數(shù)據(jù)
截?cái)啾砻?/p>