程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MYSQL入門知識 >> mysql5.6分區和表的維護教程

mysql5.6分區和表的維護教程

編輯:MYSQL入門知識
 

表和分區的一些維護任務,適用於在mysql5.6的分區表上用sql語句進行。
維護分區表,可以使用支持分區表的語句:CHECK TABLE, OPTIMIZE TABLE, ANALYZE TABLE, and REPAIR TABLE
你可以使用ALTER TABLE的一些擴展來執行這種類型的一個或多個分區。如下:

1.重建分區: 這和先刪除保存在分區中的所有記錄,然後重新插入它們,具有同樣的效果。它可用於整理分區碎片。如:
ALTER TABLE t1 REBUILD PARTITION p0, p1;

2.優化分區:如果從分區中刪除了大量的行,或者對一個帶有可變長度的行(也就是說,有VARCHAR,BLOB,或TEXT類型的列)作了許多修改,可以使用“ALTER TABLE … OPTIMIZE PARTITION”來收回沒有使用的空間,並整理分區數據文件的碎片。如:
ALTER TABLE t1 OPTIMIZE PARTITION p0, p1;

在一個給定的分區表上使用“OPTIMIZE PARTITION”等同於在那個分區上運行CHECK PARTITION,ANALYZE PARTITION,和REPAIR PARTITION。

3.分析分區:讀取並保存分區的鍵分布。如:
ALTER TABLE t1 ANALYZE PARTITION p3;

4.修補分區: 修補被破壞的分區。如:
ALTER TABLE t1 REPAIR PARTITION p0,p1;

5.檢查分區: 可以使用幾乎與對非分區表使用CHECK TABLE 相同的方式檢查分區。如:
ALTER TABLE trb3 CHECK PARTITION p1;

這個命令可以告訴你表t1的分區p1中的數據或索引是否已經被破壞。如果發生了這種情況,使用“ALTER TABLE … REPAIR PARTITION”來修補該分區。
列表中每個語句也支持用關鍵字ALL 來替代列表中的分區名。如:

ALTER TABLE trb3 CHECK PARTITION ALL;

使用 mysqlcheck 和 myisamchk 是不支持分區表的。

在mysql 5.6中你可以用ALTER TABLE … TRUNCATE PARTITION來截斷分區。這個語句可以用來刪除一個或多個分區中的所有行,和TRUNCATE TABLE從表中刪除所有行的操作方式大致相同。
ALTER TABLE … TRUNCATE PARTITION ALL 截斷表中所有的分區。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved