相关的文档10bet官方网站 本手册下载
PDF (Ltr)- 41.6 mb
PDF (A4)- 41.7 mb
手册页(TGZ)- 262.5 kb
手册页(邮政编码)- 372.6 kb
信息(Gzip)- 4.0 mb
信息(邮政编码)- 4.0 mb
本手册节选

24.3.4维护分区

可以使用专用的SQL语句在分区表上执行许多表和分区维护任务。

分区表的表维护可以使用这些语句来完成检查表优化表分析表,修理表,它们对于分区表是支持的。

您可以使用一些扩展来ALTER TABLE对于直接在一个或多个分区上执行这种类型的操作,如下表所示:

  • 重建分区。重建分区;这与删除存储在分区中的所有记录,然后重新插入它们的效果相同。这对于碎片整理很有用。

    例子:

    重建分区p0, p1;
  • 优化分区。如果您从一个分区中删除了大量行,或者您对一个具有变长行的分区表进行了许多更改(即有VARCHAR,或文本列),可以使用ALTER TABLE……优化分区回收任何未使用的空间并对分区数据文件进行碎片整理。

    例子:

    优化分区p1, p1;

    使用优化分区等于在一个给定的分区上运行检查分区分析分区,修复分区在这个分区。

    一些MySQL存储引擎,包括InnoDB,不支持分区优化;在这些情况下,ALTER TABLE……优化分区分析并重建整个表,并发出适当的警告。(Bug #11751825, Bug #42822)使用ALTER TABLE……重建分区而且ALTER TABLE……分析分区相反,为了避免这个问题。

  • 分析分区。它读取并存储分区的键分布。

    例子:

    解析分区p3;
  • 修复分区。这可以修复损坏的分区。

    例子:

    修复分区p0,p1;

    通常情况下,修复分区当分区包含重复的键错误时失败。您可以使用改变忽视表在这种情况下,由于存在重复键而无法移动的所有行都将从分区中删除(Bug #16900947)。

  • 检查分区。您可以用与使用相同的方法检查分区是否有错误检查表与非分区表。

    例子:

    检查表trb3分区

    这个语句告诉您是数据还是索引在分区中p1的表t1是损坏的。如果是这种情况,使用ALTER TABLE……修复分区修理隔断。

    通常情况下,检查分区当分区包含重复的键错误时失败。您可以使用改变忽视表使用此选项,在这种情况下,语句将返回发现重复键违反的分区中每一行的内容。只报告表的分区表达式中列的值。(错误# 16900947)

刚才显示的列表中的每个语句也支持关键字所有代替分区名称列表。使用所有使语句作用于表中的所有分区。

还可以使用截断分区ALTER TABLE……截断分区.该语句可用于从一个或多个分区中删除所有行,其方法与前面的截断表删除表中的所有行。

ALTER TABLE……截断分区所有截断表中的所有分区。