Возможно ли разветвление с InnoDB и уникальными записями? - PullRequest
0 голосов
/ 05 февраля 2011

Я рассматриваю вопрос о переносе моей таблицы MyISAM в InnoDB.У меня есть много таблиц с установленными уникальными значениями в столбцах, и я использую Perl.Если я переключусь на InnoDB (и, таким образом, воспользуюсь блокировкой на уровне строк, а не блокировкой на уровне таблицы) и использую разветвление, возникнут ли у меня проблемы с дублирующимися записями?(т. е. поскольку я буду вставлять в таблицу одновременно несколько строк)

Ответы [ 2 ]

0 голосов
/ 05 февраля 2011

Пока у вас есть UNIQUE индексы, строки, нарушающие эти ограничения, не допускаются.

Однако при вставке в транзакции вы можете столкнуться с некоторыми проблемами параллелизма. Если две дублирующие строки вставляются в две разные параллельные транзакции, одна из них не сможет зафиксировать.

0 голосов
/ 05 февраля 2011

Уникальность может быть достигнута путем создания уникальных индексов. В этом случае движок БД позаботится об этом. Кроме того, правильное использование транзакций помогает избежать проблем с параллелизмом.

...