|
|
|
Запись из разных потоков в одну таблицу
|
|||
|---|---|---|---|
|
#18+
YamahaR1Ну а если например будет производиться одновременное копирование данных из трех потоков в одну таблицу, это не приведет к дедлоку? Не должно. Там же только вставка будет. Причем заточеная под множество записей, в отличие от последовательной вставке\обновлении в процессе обработки данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 08:38 |
|
||
|
Запись из разных потоков в одну таблицу
|
|||
|---|---|---|---|
|
#18+
jedditeНу почему же не про блокировки? При таком подходе каждый поток работает со своим snapshot и блокировок не происходит А что происходит, когда снапшот надо поправить, а он устарел? Проблема взаимных блокировок в том, что Вы толком не говорите СУБД, что хотите работать с данными только своей сессии. Другими словами New_CODE и NEW_CODE1 присваиваются только в рамках 1 сессии или могут перенумеровывать данные другой сессии (произошедшей ранее и не только). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 12:28 |
|
||
|
Запись из разных потоков в одну таблицу
|
|||
|---|---|---|---|
|
#18+
Грубо говоря алгоритм параллельной вставки с обработкой вставленного выглядит следующим образом. 1. Создается транзакция 2. Создается временная таблица с данными только этой транзакции. 3. Временная таблица заполняется insert (с проверкой самосогласованности строки). 4. Временная таблица обрабатывается (update с перенумеровкой). 5. Содержимое временной таблицы вставляется целиком в основную. 6. транзакция завершается. Если же перенумерация связана с данными в основной таблице, то 3а. Захватываем некоторую глобальную блокировку. Если же надо менять и другие записи из основной таблицы (3а как есть) 4. Содержимое временной таблицы вставляется целиком в основную. 5. Основная таблица обрабатывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 12:41 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38801883&tid=2126293]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
270ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 567ms |

| 0 / 0 |
