我有一个按 KPI 字段值分区的表。有些 kpi 行数较多,有些则行数较少。按 KPI 名称(字符串)分区可保持良好的查询性能。
数据源偶尔会引入一个新的 KpI,这会破坏加载程序。包含新 kpi 值的上传文件将会失败。
我想添加一个默认分区来满足这些条件。
四处搜索后我发现并尝试了这个命令
alter table X 添加分区(分区 pDefault 值在 (DEFAULT) 中);
MySQL工作台不喜欢这个命令突出显示倒数第二个‘)’,说它在这个位置无效,需要‘(’。
我浏览了MySQL帮助索引并用谷歌搜索了一个小时,但找不到这个有什么问题或其他方法来做我想做的事情。
想法?
使用 LIST 分区时必须列出显式值。您无法为未列出的值创建“默认”或“包罗万象”分区。
这已记录在案:
https://dev.mysql.com/doc/refman/8.0/en/partitioning-list.html 说:
与
分区的情况不同,不存在诸如RANGE
之类的“包罗万象”;分区表达式的所有预期值都应包含在MAXVALUE
子句中。包含不匹配的分区列值的PARTITION ... VALUES IN (...)
语句失败并出现错误。INSERT