【问题标题】:alter table to add partitions and subpartitions in mysql更改表以在 mysql 中添加分区和子分区
【发布时间】:2018-02-09 06:00:20
【问题描述】:

我有一个表,我想为其创建分区和子分区。 我使用了 alter table 语句,但即使使用两个 alter table 语句,我也无法创建子分区。 我只能创建分区,不能创建子分区。我需要三个级别的子分区。

当我执行文件时,我不断收到错误: ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以了解正确的语法

但是当我删除创建子分区的语句时,我能够成功执行文件并创建一个分区。

请建议我可以更改表以创建分区和三个级别的子分区的方法。

提前致谢!

【问题讨论】:

  • 您只能创建一级子分区(如果“级别”表示您要将每个子分区再次划分为子分区,然后再将这些子分区划分为子分区)。可以在here 找到正确的语法。如果您的代码引发错误,最好将您的代码添加到问题中,因为您可以做的错误比我们列出的要多。另外:子分区很少有用(分区本身很少有用 - 它们可能不会像您认为的那样做),因此您可能会重新考虑 “我需要” 语句。
  • @Solarflare-Thanks!!为什么我们不能进一步划分子分区?
  • 简单的答案是:因为开发人员没有实现它。他们可能认为不需要此功能,或者不太可能还没有时间实现它。如果您有令人信服的理由需要它,请随意添加功能请求(或者,由于它是开源的,请自行实现)。但是我仍然敦促您重新评估您是否真的需要子子分区,因为分区的工作方式可能与您认为的不同(它们不是加速查询的工具,它们主要是用于某些维护任务或问题的工具)。

标签: mysql partitioning


【解决方案1】:

首先,我怀疑PARTITIONing 是否有用。你的应用是什么样的?

其次,SUBPARTITION 的用途我一直没有找到,所以我怀疑 sub-sub-partitioning 是否也属于我们。

我只发现PARTITIONing 加速SELECT 的两种情况。我可以提一下PARTITIONing 帮助管理人员的 3 个案例。 More discussion.

请解释你的分区目的。

【讨论】:

    猜你喜欢
    • 2019-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-28
    • 2017-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多