Уникальное ограничение на несколько столбцов имеет проблемы с производительностью
Я использую базу данных Oracle, и у меня есть таблица для записей клиентов, и я хочу наложить ограничение на уникальный ключ для нескольких столбцов varchar2. лайк
CUST_ID (Number)
,
CUST_Name(varchar2),
Cust_N.I.C_NO(varchar2)
сделаю уникальный ключ.
при вставке новой записи через формы 6i, если ORA-00001
появляется ошибка, пользователь будет проинформирован о том, что DUPLICATED
запись.
Пожалуйста, сообщите мне, если возникнут какие-либо проблемы с производительностью базы данных, когда записи в этой таблице превысят 50000 или более.
Если это не хорошая практика, чтобы избежать вставки дублирующих записей, то, пожалуйста, предложите любой другой подход.
С уважением.
1 ответ
Уникальные ограничения применяются через индекс. Таким образом, в процессе правоприменения участвуют дополнительные операции чтения. Однако влияние ограничения на производительность является минимальным по сравнению с влиянием на производительность, возникающим при разрешении повторяющихся ключей в базе данных. Не говоря уже о влиянии такого повреждения данных на бизнес.
Кроме того, 50000 рядов - это стол размером с игрушку. Серьезно, вы не сможете измерить разницу между вставками и без ограничений.