MySQL刪除數(shù)據(jù)
1.Delete
delete from TABLE_NAME
a.DELETE屬于數(shù)據(jù)庫DML操作語言妖碉,只刪除數(shù)據(jù)不刪除表的結(jié)構(gòu)狞膘,會(huì)走事務(wù)讯蒲,執(zhí)行時(shí)會(huì)觸發(fā)trigger
b.在 InnoDB 中掸鹅,DELETE其實(shí)并不會(huì)真的把數(shù)據(jù)刪除童谒,mysql 實(shí)際上只是給刪除的數(shù)據(jù)打了個(gè)標(biāo)記為已刪除.
因此 delete 刪除表中的數(shù)據(jù)時(shí)单旁,表文件在磁盤上所占空間不會(huì)變小,存儲(chǔ)空間不會(huì)被釋放饥伊,只是把刪除的數(shù)
據(jù)行設(shè)置為不可見象浑。雖然未釋放磁盤空間,但是下次插入數(shù)據(jù)的時(shí)候撵渡,仍然可以重用這部分空間(重用 → 覆蓋)
c.DELETE執(zhí)行時(shí)融柬,會(huì)先將所刪除數(shù)據(jù)緩存到rollback segement中,事務(wù)commit之后生效
d.delete from TABLE_NAME,對(duì)于MyISAM 會(huì)立刻釋放磁盤空間趋距,InnoDB 不會(huì)釋放磁盤空間
e.對(duì)于delete from TABLE_NAME where xxx 帶條件的刪除, 不管是InnoDB還是MyISAM都不會(huì)釋放磁盤空間
f.delete操作以后使用 optimize table table_name 會(huì)立刻釋放磁盤空間粒氧。不管是InnoDB還是MyISAM.所以
要想達(dá)到釋放磁盤空間的目的匆绣,delete以后執(zhí)行optimize table 操作
optimize table TABLE_NAME
g.delete 操作是一行一行執(zhí)行刪除的,并且同時(shí)將該行的的刪除操作日志記錄在redo和undo表空間中以便進(jìn)行
回滾(rollback)和重做操作阶界,生成的大量日志也會(huì)占用磁盤空間
2.Truncate
truncate table TABLE_NAME
a.屬于數(shù)據(jù)庫DDL定義語言挺尿,不走事務(wù),原數(shù)據(jù)不放到 rollback segment 中饱苟,操作不觸發(fā) trigger
執(zhí)行后立即生效,無法找回
b.truncate table table_name 立刻釋放磁盤空間 孩擂,不管是 InnoDB和MyISAM.truncate table其實(shí)有
點(diǎn)類似于drop table 然后creat,只不過這個(gè)create table 的過程做了優(yōu)化,比如表結(jié)構(gòu)文件之前已經(jīng)有了
等等箱熬。所以速度上應(yīng)該是接近drop table的速度
c.truncate能夠快速清空一個(gè)表类垦。并且重置auto_increment的值.
1.對(duì)于MyISAM,truncate會(huì)重置auto_increment(自增序列)的值為1城须。而delete后表仍然保持auto_increment
2.對(duì)于InnoDB蚤认,truncate會(huì)重置auto_increment的值為1。delete后表仍然保持auto_increment糕伐。但是在做delete
整個(gè)表之后重啟MySQL的話砰琢,則重啟后的auto_increment會(huì)被置為1
3.Drop
drop table Tablename
a.屬于數(shù)據(jù)DDL定義語言,同truncate
b.drop table table_name 立刻釋放磁盤空間 ,不管是 InnoDB 和 MyISAM;drop語句將刪除表的結(jié)構(gòu)被依賴的約束(constrain)
觸發(fā)器(trigger)良瞧、索引(index); 依賴于該表的存儲(chǔ)過程/函數(shù)將保留,但是變?yōu)?invalid 狀態(tài)
MySQL刪除數(shù)據(jù)
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門舍哄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人誊锭,你說我怎么就攤上這事表悬。” “怎么了丧靡?”我有些...
- 文/不壞的土叔 我叫張陵蟆沫,是天一觀的道長。 經(jīng)常有香客問我温治,道長饭庞,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任熬荆,我火速辦了婚禮舟山,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己累盗,他們只是感情好寒矿,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著若债,像睡著了一般符相。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蠢琳,一...
- 文/蒼蘭香墨 我猛地睜開眼散怖,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼菇绵!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起镇眷,我...
- 序言:老撾萬榮一對(duì)情侶失蹤咬最,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后欠动,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體永乌,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年具伍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了翅雏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
- 正文 年R本政府宣布,位于F島的核電站惕味,受9級(jí)特大地震影響楼誓,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜名挥,卻給世界環(huán)境...
- 文/蒙蒙 一疟羹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦阁猜、人聲如沸丸逸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽黄刚。三九已至,卻和暖如春民效,著一層夾襖步出監(jiān)牢的瞬間憔维,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓舒萎,卻偏偏與公主長得像程储,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子臂寝,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- drop table table_name 立刻釋放磁盤空間 章鲤,不管是 Innodb和MyISAM ; trunc...
- mysql 刪除數(shù)據(jù)之后,數(shù)據(jù)文件瘦身 問題背景 當(dāng)您的庫中刪除了大量的數(shù)據(jù)后掏缎,您可能會(huì)發(fā)現(xiàn)數(shù)據(jù)文件尺寸并沒有減小...
- MySQL 創(chuàng)建數(shù)據(jù)庫及簡單增刪改查 我們可以在登陸 MySQL 服務(wù)后皱蹦,使用 create 命令創(chuàng)建數(shù)據(jù)庫,語法...
- MySQL中刪除數(shù)據(jù)表是非常容易操作的眷蜈, 但是你再進(jìn)行刪除表操作時(shí)要非常小心沪哺,因?yàn)閳?zhí)行刪除命令后所有數(shù)據(jù)都會(huì)消失。...
- 前言 100道MySQL數(shù)據(jù)庫經(jīng)典面試題解析,已經(jīng)上傳github啦 github.com/whx123/Java...