|
Вопрос по одновременной вставке записи с одним ключем
|
|||
---|---|---|---|
#18+
Детский вопрос. Есть таблица Код: sql 1. 2. 3.
ID в ней не из генератора - это сущность из другой таблицы. Сама эта таблица - некий кэш, который время от времени очищается и затем снова наполняется по мере необходимости. Есть две транзакции RWRC (read_committed,rec_version,nowait) Обе они пытаются вставить одинаковую запись Код: sql 1.
Вопрос. Существует ли штатный механизм, как сделать так, чтобы гарантированно ибежать lock_conflict и unique_key_violation (если запись с таким клчем уже есть, то просто не вставлять запись)? У меня сейчас Код: sql 1. 2.
И обработчик исключения. Которое крайне редко возникает (и если возникает - ничего страшного, главное что запись уже есть), т.ч. работает приемлемо. Но хотелось бы узнать - можно ли сделать лучше? Как-то MERGE применить например, или еще что? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 13:58 |
|
Вопрос по одновременной вставке записи с одним ключем
|
|||
---|---|---|---|
#18+
YuRockСуществует ли штатный механизм, как сделать так, чтобы гарантированно ибежать lock_conflict и unique_key_violation (если запись с таким клчем уже есть, то просто не вставлять запись)? Нет. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 14:04 |
|
Вопрос по одновременной вставке записи с одним ключем
|
|||
---|---|---|---|
#18+
YuRockНо хотелось бы узнать - можно ли сделать лучше? Как-то MERGE применить например, или еще что? Спасибо. Может триггер BEFORE INSERT или оператор UPDATE OR INSERT INTO <table_name> (<fields>) VALUES (<values>) MATCHING (<fields>) ? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 14:09 |
|
Вопрос по одновременной вставке записи с одним ключем
|
|||
---|---|---|---|
#18+
rdb_dev, не, триггер не подойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 14:10 |
|
Вопрос по одновременной вставке записи с одним ключем
|
|||
---|---|---|---|
#18+
Hello, Yurock! You wrote on 30 января 2017 г. 14:12:26: Yurock> И обработчик исключения. [skipped] работает приемлемо.ну и не парься. без сериализации задачу не решить. можешь конечно лочить всю таблицу (см. "резервирование таблиц http://www.ibase.ru/ibtrans), но оно тебе надо? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 14:21 |
|
|
start [/forum/topic.php?fid=40&fpage=49&tid=1561741]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 288ms |
total: | 411ms |
0 / 0 |