Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
01.06.2010, 12:57
|
|||
|---|---|---|---|
блокировки и транзакции, всегда ли обязательно? |
|||
|
#18+
Если конкурентные процессы записывают в одну глобаль строки с уникальными ключами, есть ли смысл оформлять запись как транзакцию с блокировкой? Пробовал запускать из двух терминалов параллельно программку: w !,$zts," start" for i=1:1:10000000 do ; .;lock ^a .;tstart .s k=$i(^a) .s ^a(k)="" .;tcommit .;lock w !,$zts," end" 1.в таком виде (без транзакций и болкировок) - 96сек 2.как транзакции (раскомментарены tstart & tcommit) - 140 сек 3.как транзакции с блокировкой - 135 сек (на первый взгляд странно, что быстрее 2-го варианта, но может транзакциям легче, когда они работают последовательно, а не параллельно). Во всех трех вариантах результат был одинаковый - формировалась глобаль на 20млн строк. Никаких ошибок, типа нарушения структуры глобала и т.д. Так есть ли смысл в данном случае использовать транзакции и блокировки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.06.2010, 13:09
|
|||
|---|---|---|---|
блокировки и транзакции, всегда ли обязательно? |
|||
|
#18+
DirksDR , если используется функция инкремента - блокировать дополнительно нет необходимости. Эта функция изначально гарантирует уникальный инеремент для всех процессов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.06.2010, 13:11
|
|||
|---|---|---|---|
блокировки и транзакции, всегда ли обязательно? |
|||
|
#18+
DirksDRТак есть ли смысл в данном случае использовать транзакции и блокировки? В данном примере нет смысла в блокировках и транзакциях... Если будут сбои в некоторых процессах, думаю что в глобале просто будут "дырки" с нумерацией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.06.2010, 14:19
|
|||
|---|---|---|---|
блокировки и транзакции, всегда ли обязательно? |
|||
|
#18+
krvsa, То есть можно не бояться, что параллельные процессы попортят структуру базы/глобали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.06.2010, 14:23
|
|||
|---|---|---|---|
блокировки и транзакции, всегда ли обязательно? |
|||
|
#18+
DirksDR , конкретно в твоём примере никто ничего не попортит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.06.2010, 14:37
|
|||
|---|---|---|---|
блокировки и транзакции, всегда ли обязательно? |
|||
|
#18+
В первую очередь "разводить" процессы нужно проектирвоанием базы, чтобы как можно реже случалась необходимость работы с одними и теми же данными, блокировки должны быть максимально локализованными. Насчет транзкций - то же самое. Очень плохо загонять в транзакцию расчет на два часа. В конце концов, если будет сбой, то он не меньше чем два часа будет откатывать назад. Максимально отработка ошибок желательна без транзакций, и только в самых критичных моментах есть смысл в их использовании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.06.2010, 22:26
|
|||
|---|---|---|---|
блокировки и транзакции, всегда ли обязательно? |
|||
|
#18+
DirksDRЕсли конкурентные процессы записывают в одну глобаль строки с уникальными ключами, есть ли смысл оформлять запись как транзакцию с блокировкой? Блокировки можно и не использовать в принципе, если так уж хочется, а ключ реально уникален - в твоем примере $i уникален. Транзакции смысл имеет - ибо если у тебя случиться непонятное - вставленные данные нужно будет откатить. Без транзакций это будет весьма непросто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=39&tablet=1&tid=1558051]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
142ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 461ms |

| 0 / 0 |
