我有一个庞大的数据集。结构看起来像这样:
K_Field1, K_Field2, K_Field3, K_Field4, D_Field5, D_Field6, D_Field7, D_field8
问题是只有前 4 个字段 (K_Field1,K_Field2,K_Field3,K_Field4
) 一起唯一标识一行。我创建了一个表,使用这些字段作为它的字段。
假设我在使用该结构的表中有 100 万行。如果我导入一条新记录,我必须确定它是否已经在数据库中。如果是,那么我必须更新它,如果不是,那么我需要插入一个新行。
为此,我需要在前 4 列上放置一个多字段索引,这恐怕不是最佳解决方案。是否有更好的数据库结构来存储和搜索该数据,或者我必须忍受四字段索引?
我正在使用 MySQL
最佳答案
在前 4 列上创建索引没有错,事实上你应该:
create unique index mytable_key on mytable(K_Field1,K_Field2,K_Field3,K_Field4);
因为这就是您的实际情况。
这也是“正确”的解决方案。
关于mysql - MySQL 中的多字段索引是一个不错的选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6957365/