在MySQL中按键分区

时间:2015-12-29 07:14:06

标签: mysql

我试图在包含数百万行的表上应用分区。例如,我有以下属性(Id,Devicecode(varchar),Latitude ,Longitude , time/date),我想在设备代码上应用分区,我知道在这种情况下,如果Id是primary key,那么Device code只能将分区应用于主键也应该是primary key。我没有得到的是mysql文档中的foreign key限制。如果属性是foreign key,它是否表示我无法应用分区?可能是其他限制?另外"分区4"意味着我想创建4个分区吗?

1 个答案:

答案 0 :(得分:0)

DOC:18.6 Restrictions and Limitations on Partitioning

  

分区的InnoDB表不支持外键。分区   使用InnoDB存储引擎的表不支持外键。   更具体地说,这意味着以下两个陈述是   真:

     

没有使用用户定义分区的InnoDB表的定义   可能包含外键引用;没有InnoDB表的定义   包含外键引用可以被分区。

     

没有InnoDB表定义可能包含对a的外键引用   用户分区表;没有InnoDB表和用户定义的分区   可能包含外键引用的列。

     

刚才列出的限制范围包括所有使用的表   InnoDB存储引擎。