我试图在包含数百万行的表上应用分区。例如,我有以下属性(Id,Devicecode(varchar),Latitude ,Longitude , time/date)
,我想在设备代码上应用分区,我知道在这种情况下,如果Id是primary key
,那么Device code
只能将分区应用于主键也应该是primary key
。我没有得到的是mysql文档中的foreign key
限制。如果属性是foreign key
,它是否表示我无法应用分区?可能是其他限制?另外"分区4"意味着我想创建4个分区吗?
答案 0 :(得分:0)
DOC:18.6 Restrictions and Limitations on Partitioning
分区的InnoDB表不支持外键。分区 使用InnoDB存储引擎的表不支持外键。 更具体地说,这意味着以下两个陈述是 真:
没有使用用户定义分区的InnoDB表的定义 可能包含外键引用;没有InnoDB表的定义 包含外键引用可以被分区。
没有InnoDB表定义可能包含对a的外键引用 用户分区表;没有InnoDB表和用户定义的分区 可能包含外键引用的列。
刚才列出的限制范围包括所有使用的表 InnoDB存储引擎。