Mysql碎片恢復 mysql資料庫碎片整理

2021-10-18 11:48:38 字數 1759 閱讀 4120

1、drop table table_name 立刻釋放磁碟空間 ,不管是 innodb和myisam 。

2、truncate table table_name 立刻釋放磁碟空間 ,不管是 innodb和myisam 。

3、delete from table_name刪除表的全部資料,對於myisam 會立刻釋放磁碟空間 (應該是做了特別處理,也比較合理),innodb 不會釋放磁碟空間;

4、對於delete from table_name where ***帶條件的刪除, 不管是innodb還是myisam都不會釋放磁碟空間,delete操作以後使用optimize table table_name 會立刻釋放磁碟空間。不管是innodb還是myisam 。所以要想達到釋放磁碟空間的目的,delete以後執行optimize table 操作。例子如下:table_name 表名稱。

optimize table table_name

6、delete from表以後雖然未釋放磁碟空間,但是下次插入資料的時候,仍然可以使用這部分空間。

總結:delete from表名;

truncate table 表名;

不帶where引數的delete語句可以刪除mysql表中所有內容,使用truncate table也可以清空mysql表中所有內容。

效率上truncate比delete快,但truncate刪除後不記錄mysql日誌,不可以恢復資料。

delete的效果有點像將mysql表中所有記錄一條一條刪除到刪完,

而truncate相當於保留mysql表的結構,重新建立了這個表,所有的狀態都相當於新錶。

7、查詢所有資料庫占用磁碟空間大小的sql語句:

select table_schema, concat(truncate(sum(data_length)/1024/1024,2),' mb') as data_size,

concat(truncate(sum(index_length)/1024/1024,2),'mb') as index_size

from information_schema.tables

group by table_schema

order by data_length desc;

8、查詢單個庫中所有表磁碟占用大小的sql語句:

select table_name, concat(truncate(data_length/1024/1024,2),' mb') as data_size,

concat(truncate(index_length/1024/1024,2),' mb') as index_size

from information_schema.tables where table_schema = 'testdb'

group by table_name

order by data_length desc;

9:查詢單個庫某張表磁碟占用大小的sql語句

select t.table_schema,

t.table_name,

t.table_rows,

t.data_length,

t.index_length,

t.data_free,

concat(round(t.data_free / 1024 / 1024, 2), 'm') as datafree

from information_schema.tables t

where t.table_schema = 'epay' and t.table_name='orders'

mysql碎片空間 mysql碎片應用

1.查詢結果集中自增功能 set i 0 select i i 1 id 2.資料庫備份 mysqldump database uroot p beifen.sql 3.資料庫表空間tablespace優化 show table status from database like table nam...

mysql索引碎片整理 MysqL碎片整理優化

先來說一下什麼是碎片,怎麼知道碎片有多大!簡單的說,刪除資料必然會在資料檔案中造成不連續的空白空間,而當插入資料時,這些空白空間則會被利用起來.於是造成了資料的儲存位置不連續,以及物理儲存順序與理論上的排序順序不同,這種是資料碎片.實際上資料碎片分為兩種,一種是單行資料碎片,另一種是多行資料碎片.前...

mysql碎片整理 提速 MysqL碎片整理優化

先來說一下什麼是碎片,怎麼知道碎片有多大!簡單的說,刪除資料必然會在資料檔案中造成不連續的空白空間,而當插入資料時,這些空白空間則會被利用起來.於是造成了資料的儲存位置不連續,以及物理儲存順序與理論上的排序順序不同,這種是資料碎片.實際上資料碎片分為兩種,一種是單行資料碎片,另一種是多行資料碎片.前...