
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
19.07.2017, 23:44
|
|||
|---|---|---|---|
|
|||
Уровень изоляции при insert if not exists |
|||
|
#18+
Здравствуйте. Изучаю БД и дошел до транзакций и уровней изоляции. И столкнулся с непониманием. Таблица: Транзакция : Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Правильно ли я понимаю, что при 5 параллельных транзакциях в момент, когда таблица пустая, то все транзакции отработают и вставят запись? И это будет происходить вне зависимости от типа изоляции, ведь блокировки накладывать не на что (заполненных строк, столбцов, в таблице нет). Подскажите, пожалуйста, как правильно поступать в такой ситуации, чтобы ограничение по $count всегда отрабатывало корректно при параллельной работе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2017, 00:02
|
|||
|---|---|---|---|
Уровень изоляции при insert if not exists |
|||
|
#18+
blantcatТранзакцияЭто, извините, не транзакция, а черти-что. Показывайте SQL-запрос(-ы). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2017, 00:47
|
|||
|---|---|---|---|
|
|||
Уровень изоляции при insert if not exists |
|||
|
#18+
miksoftblantcatТранзакцияЭто, извините, не транзакция, а черти-что. Показывайте SQL-запрос(-ы). Сорри, учусь. Вот пример псевдокодом: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Т.е. в теле транзакции получаем количество уже вставленных элементов, и если оно меньше 2х, то добавляем еще один элемент. Или логика в принципе неправильная ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1830534]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
176ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 474ms |

| 0 / 0 |
