【发布时间】:2018-02-09 06:00:20
【问题描述】:
我有一个表,我想为其创建分区和子分区。 我使用了 alter table 语句,但即使使用两个 alter table 语句,我也无法创建子分区。 我只能创建分区,不能创建子分区。我需要三个级别的子分区。
当我执行文件时,我不断收到错误: ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以了解正确的语法
但是当我删除创建子分区的语句时,我能够成功执行文件并创建一个分区。
请建议我可以更改表以创建分区和三个级别的子分区的方法。
提前致谢!
【问题讨论】:
-
您只能创建一级子分区(如果“级别”表示您要将每个子分区再次划分为子分区,然后再将这些子分区划分为子分区)。可以在here 找到正确的语法。如果您的代码引发错误,最好将您的代码添加到问题中,因为您可以做的错误比我们列出的要多。另外:子分区很少有用(分区本身很少有用 - 它们可能不会像您认为的那样做),因此您可能会重新考虑 “我需要” 语句。
-
@Solarflare-Thanks!!为什么我们不能进一步划分子分区?
-
简单的答案是:因为开发人员没有实现它。他们可能认为不需要此功能,或者不太可能还没有时间实现它。如果您有令人信服的理由需要它,请随意添加功能请求(或者,由于它是开源的,请自行实现)。但是我仍然敦促您重新评估您是否真的需要子子分区,因为分区的工作方式可能与您认为的不同(它们不是加速查询的工具,它们主要是用于某些维护任务或问题的工具)。
标签: mysql partitioning