我正在使用Oracle数据库,我有一个客户记录表,并希望在多个varchar2列上放置一个唯一键约束。喜欢
CUST_ID (Number)
,
CUST_Name(varchar2),
Cust_N.I.C_NO(varchar2)
会创建一个唯一的密钥。
通过表单6i插入新记录时,如果出现ORA-00001
错误,系统会通知用户该记录为DUPLICATED
。
如果此表中的记录超过50000或更多,请告知我是否存在任何数据库性能问题。
如果这不是一个避免插入重复记录的好习惯,那么请建议任何其他方法。
问候。
答案 0 :(得分:9)
通过索引强制执行唯一约束。因此,执行过程中还涉及其他读取。但是,与解析数据库中的重复键所产生的性能影响相比,约束的性能影响最小。更不用说这种数据损坏对业务的影响了。
此外,50000行是玩具大小的表。说真的,无论是否有约束,你都无法测量插入物的差异。