我有一个包含大量数据的表,这就是我想要拆分或分区它的原因。问题是我想按一个不是主键的列进行分区: project_id。在我的例子中,最多有2到3个不同的项目In……
- id (PRIMARY KEY, AUTO INCREMENT)
- project_id (INT)
- username (UNIQUE)
- username_md5 (UNIQUE)
(- ... more but irrelevant columns)正如您所看到的,我有3列需要保证是唯一的(id、用户名、username_md5)。现在,我想对project_id列进行范围分区。我想出的唯一解决方案是为所有这些列创建一个丑陋的4列主键(分区要求分区表达式中的所有列都必须是每个唯一键的一部分)。
现在,我想知道
A) 4列主键是否正常且可用?
B)我的分区有更好的解决方案吗?
C)否则我会手动为我拥有的每个project_id创建一个“动态”表,这是最简单的解决方案吗?
发布于 2013-03-07 18:09:35
您可以删除您的主/唯一键,并使其成为一个简单的键,然后在project_id上执行一个简单的范围分区,现在它确实需要成为键
您仍然可以快速访问,因为这些字段已建立索引。
您可能仍然希望保留唯一性:
在
https://stackoverflow.com/questions/15268116
复制相似问题