朋友们,
我是DB的新手,我需要一些帮助/信息.我们的项目中有一个表"record_table",其中的值是使用C++代码插入的.
该表有多列,其中三列表示例如."serialNo,type,sub_type"C++代码为这些列的组合插入重复值(这些列不是该表的唯一或主要列).但是3列的组合应该是唯一的.
现在我们要确保不应插入此组合的重复项.我正在考虑为这些列添加唯一约束,以便在插入具有这些重复值的新记录时,它将不允许.
我认为这应该可行,但我怀疑它是否会达到性能,C++二进制文件每天运行并且它会插入大约200万条记录.将创建独特的约束命中性能.(意味着运行时间会减慢,或者因为表有数百万条记录将创建唯一约束,因为它必须对这些列进行哈希等)
如果可以,请建议.
通过索引强制执行唯一约束.您无论如何都需要该索引,以便再次查询数据,因此维护它的开销是无关紧要的.
真正的问题是,如果不强制执行约束,处理重复记录会对性能产生什么影响?一般而言,与修复数据损坏相比,执行约束的性能影响微不足道.