MySQL刪除數(shù)據(jù)幾種情況以及是否釋放磁盤(pán)空間:
1、drop table table_name 立刻釋放磁盤(pán)空間 ,不管是 Innodb和MyISAM ;
創(chuàng)新互聯(lián)公司是一家專(zhuān)注于網(wǎng)站建設(shè)、成都做網(wǎng)站與策劃設(shè)計(jì),南召網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:南召等地區(qū)。南召做網(wǎng)站價(jià)格咨詢(xún):18982081108
2、truncate table table_name 立刻釋放磁盤(pán)空間 ,不管是 Innodb和MyISAM 。truncate table其實(shí)有點(diǎn)類(lèi)似于drop table 然后creat,只不過(guò)這個(gè)create table 的過(guò)程做了優(yōu)化,比如表結(jié)構(gòu)文件之前已經(jīng)有了等等。所以速度上應(yīng)該是接近drop table的速度;
3、delete from table_name刪除表的全部數(shù)據(jù),對(duì)于MyISAM 會(huì)立刻釋放磁盤(pán)空間 (應(yīng)該是做了特別處理,也比較合理),InnoDB 不會(huì)釋放磁盤(pán)空間;
4、對(duì)于delete from table_name where xxx帶條件的刪除, 不管是innodb還是MyISAM都不會(huì)釋放磁盤(pán)空間;
5、delete操作以后使用optimize table table_name 會(huì)立刻釋放磁盤(pán)空間。不管是innodb還是myisam 。所以要想達(dá)到釋放磁盤(pán)空間的目的,delete以后執(zhí)行optimize table 操作。
6、delete from表以后雖然未釋放磁盤(pán)空間,但是下次插入數(shù)據(jù)的時(shí)候,仍然可以使用這部分空間。