Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
Игорь_UUSГавриленко Сергей Алексеевичпропущено... Вы ответы принципиально не читаете? Написали же все в первом же ответе: 21159923 Вы меня запутали, при чём тут не явные транзакции??? Я не использую вообще SET IMPLICIT_TRANSACTIONS ON мне нужно обратиться к таблице, заблокировать одну запись c заданным ID, внести в неё изменения. В момент блокировки записи, все параллельные изменения не должны вноситься до её разблокировки. Или заблокировать всю таблицу (не желательно, но если другого гарантированного варианта нет, пускай будет всю)Еще раз, для тех, кто в танке. Одиночный стейтмент выполняется в транзакции. Всегда и вне зависимости от того, что и где вы написали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 13:31 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
Игорь_UUSмне нужно обратиться к таблице, заблокировать одну запись c заданным ID, внести в неё изменения. В момент блокировки записи, все параллельные изменения не должны вноситься до её разблокировки.Ответы не читаете? Или не понимаете прочитанное? Еще раз - конкурирующие update никогда не вызовут "потерянных изменений". Никаких дополнительных манипуляций не требуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 13:43 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
invmИгорь_UUSмне нужно обратиться к таблице, заблокировать одну запись c заданным ID, внести в неё изменения. В момент блокировки записи, все параллельные изменения не должны вноситься до её разблокировки.Ответы не читаете? Или не понимаете прочитанное? Еще раз - конкурирующие update никогда не вызовут "потерянных изменений". Никаких дополнительных манипуляций не требуется. RCSI? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 13:44 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
TaPaKinvmпропущено... Ответы не читаете? Или не понимаете прочитанное? Еще раз - конкурирующие update никогда не вызовут "потерянных изменений". Никаких дополнительных манипуляций не требуется. RCSI? а что меняется-то для апдэйта на RCSI? если данный апдэйт блокирован соседним апдэйтом, он будет ждать соседского коммита(ну или роллбэка, без разницы). и уж если сосед закоммитит, то прочитана будет последняя закоммиченная версия, т.е. как раз то, что проапдэйтила соседняя сессия. ну а при роллбэке будут прочитаны неизмененные данные. какой же тут lost update? --- у него в вопросе голый апдэйт (1 statement). не сперва некое чтение, а потом апдэйт, и все это в транзакции, а простой апдэйт. которому вообще по барабану Isolation Level ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 14:20 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
[quot Гавриленко Сергей Алексеевич]Игорь_UUSибо 100% гарантии дает только страховой полис. Владельцы ОСАГО с вами не согласны! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 14:20 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей АлексеевичИгорь_UUSибо 100% гарантии дает только страховой полис. Владельцы ОСАГО с вами не согласны!Вы хотите спорить с О. Бендером? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 14:21 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
Yasha123, автора что меняется-то для апдэйта на RCSI? если данный апдэйт блокирован соседним апдэйтом, он будет ждать соседского коммита(ну или роллбэка, без разницы). и уж если сосед закоммитит, то прочитана будет последняя закоммиченная версия, т.е. как раз то, что проапдэйтила соседняя сессия. ну а при роллбэке будут прочитаны неизмененные данные. какой же тут lost update? прочитаны будут данные на начало транзакции, ждать комита никто не будет чтобы читать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 14:23 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
TaPaKИгорь_UUS, ответ вам уже дан. Если осилили прочитать про нейвные, прочитайте и про явные и неожиднный autocommit https://technet.microsoft.com/en-us/library/ms187878(v=sql.105).aspx всё понятно... выполнение любой операции это и есть транзакция, если нет явной происходит autocommit после каждого действия... спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 14:34 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
Игорь_UUSTaPaKИгорь_UUS, ответ вам уже дан. Если осилили прочитать про нейвные, прочитайте и про явные и неожиднный autocommit https://technet.microsoft.com/en-us/library/ms187878(v=sql.105).aspx всё понятно... выполнение любой операции это и есть транзакция, если нет явной происходит autocommit после каждого действия... спасибо! не правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 14:35 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
TaPaKRCSI?TaPaKпрочитаны будут данные на начало транзакции, ждать комита никто не будет чтобы читатьRCSI не распространяется на писателей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 14:38 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
invmИгорь_UUSмне нужно обратиться к таблице, заблокировать одну запись c заданным ID, внести в неё изменения. В момент блокировки записи, все параллельные изменения не должны вноситься до её разблокировки.Ответы не читаете? Или не понимаете прочитанное? Еще раз - конкурирующие update никогда не вызовут "потерянных изменений". Никаких дополнительных манипуляций не требуется. Я реально запутался))) Дак надо что-то применять или нет... тут пишут то ли надо, то ли не надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 14:42 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
Игорь_UUSinvmпропущено... Ответы не читаете? Или не понимаете прочитанное? Еще раз - конкурирующие update никогда не вызовут "потерянных изменений". Никаких дополнительных манипуляций не требуется. Я реально запутался))) Дак надо что-то применять или нет... тут пишут то ли надо, то ли не надо Вы успокойтесь и скажите что вам надо сделать , а не то что вы придумали в голове, и пытаетесь реализовать )) Вам нужна непрерывная нумерация? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 14:53 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
Изоляция транзакций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 14:59 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
invmTaPaKRCSI?TaPaKпрочитаны будут данные на начало транзакции, ждать комита никто не будет чтобы читатьRCSI не распространяется на писателей. в частности да, речь о том что если считать, протом менять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 15:00 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
TaPaKречь о том что если считать, протом менятьТак это не случай ТС. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 15:03 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
invmTaPaKречь о том что если считать, протом менятьТак это не случай ТС. конечно, rcsi тоже не его случай :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 15:05 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
TaPaKYasha123, автора что меняется-то для апдэйта на RCSI? если данный апдэйт блокирован соседним апдэйтом, он будет ждать соседского коммита(ну или роллбэка, без разницы). и уж если сосед закоммитит, то прочитана будет последняя закоммиченная версия, т.е. как раз то, что проапдэйтила соседняя сессия. ну а при роллбэке будут прочитаны неизмененные данные. какой же тут lost update? прочитаны будут данные на начало транзакции, ждать комита никто не будет чтобы читать сделайте update с output на rcsi. в одном окне откройте транзакцию и делайте первый апдэйт без коммита, во втором окне апдэйт с аутпутом. ну теперь комитьте первого ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 15:09 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
Yasha123TaPaKYasha123, пропущено... прочитаны будут данные на начало транзакции, ждать комита никто не будет чтобы читать сделайте update с output на rcsi. в одном окне откройте транзакцию и делайте первый апдэйт без коммита, во втором окне апдэйт с аутпутом. ну теперь комитьте первого а так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 15:10 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
TaPaKа так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Так это и есть классическое "потерянное изменение". Такое и без RCSI сплошь и рядом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 15:17 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
TaPaKYasha123пропущено... сделайте update с output на rcsi. в одном окне откройте транзакцию и делайте первый апдэйт без коммита, во втором окне апдэйт с аутпутом. ну теперь комитьте первого а так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. у меня там написано аж 2 раза: у товарища ГОЛЫЙ АПДЭЙТ, А НЕ СЕЛЕКТ + АПДЭЙТ И ВСЕ ЭТО В ОДНОЙ ТРАНЗАКЦИИ. пишу не с компа, с приложения в телефоне, у него не предусмотрено bold + size 3, могу только заглавными написать, читайте внимательнее, плиз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 15:25 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
Игорь_UUSЯ реально запутался))) Дак надо что-то применять или нет... тут пишут то ли надо, то ли не надоДумаете я зря рекомендовал про блокировки читать. Вот прочли бы и перестали путаться. При updat'е происходит примерно следующее - при считывании значения изменяемого столбца на строку таблицы накладывается U-блокировка (может и сразу X). И это гарантирует, что никакие конкурирующие писатели (update, delete и т.п.) не смогут прочитать значения из этой строки до снятия блокировки. Потому что они тоже захотят наложить U и не смогут, ибо U не совместима с другой U или X. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 15:28 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
invmИгорь_UUSЯ реально запутался))) Дак надо что-то применять или нет... тут пишут то ли надо, то ли не надоДумаете я зря рекомендовал про блокировки читать. Вот прочли бы и перестали путаться. При updat'е происходит примерно следующее - при считывании значения изменяемого столбца на строку таблицы накладывается U-блокировка (может и сразу X). И это гарантирует, что никакие конкурирующие писатели (update, delete и т.п.) не смогут прочитать значения из этой строки до снятия блокировки. Потому что они тоже захотят наложить U и не смогут, ибо U не совместима с другой U или X. вот именно. а все уровни изоляций - они для читателей, а не для голых писателей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 15:37 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
invmИгорь_UUSЯ реально запутался))) Дак надо что-то применять или нет... тут пишут то ли надо, то ли не надоДумаете я зря рекомендовал про блокировки читать. Вот прочли бы и перестали путаться. При updat'е происходит примерно следующее - при считывании значения изменяемого столбца на строку таблицы накладывается U-блокировка (может и сразу X). И это гарантирует, что никакие конкурирующие писатели (update, delete и т.п.) не смогут прочитать значения из этой строки до снятия блокировки. Потому что они тоже захотят наложить U и не смогут, ибо U не совместима с другой U или X. Спасибо, получается ничего тут придумывать ненужно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 16:36 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
Игорь_UUSinvmпропущено... Думаете я зря рекомендовал про блокировки читать. Вот прочли бы и перестали путаться. При updat'е происходит примерно следующее - при считывании значения изменяемого столбца на строку таблицы накладывается U-блокировка (может и сразу X). И это гарантирует, что никакие конкурирующие писатели (update, delete и т.п.) не смогут прочитать значения из этой строки до снятия блокировки. Потому что они тоже захотят наложить U и не смогут, ибо U не совместима с другой U или X. Спасибо, получается ничего тут придумывать ненужно... а вот не совсем )) - таки обрисуйте свою задачу - что у вас за "таблица-счётчик" )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 17:05 |
|
||
|
Возможен ли вариант, при котором один момент времени несколько потоков изменяют данные?
|
|||
|---|---|---|---|
|
#18+
Yasha123вот именно. а все уровни изоляций - они для читателей, а не для голых писателей Это не так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. Результат spiddbidObjIdIndIdTypeResourceModeStatus54600DB SGRANT54620473463580TAB IXGRANT54121071545520TAB ISGRANT54620153462440TAB IXGRANT54620473463581PAG1:7741 IXGRANT5432767-5712046560TAB Sch-SGRANT spiddbidObjIdIndIdTypeResourceModeStatus54600DB SGRANT 54 6 2047346358 1 KEY (98ec012aa510) RangeX-X GRANT 54620473463580TAB IXGRANT54121071545520TAB ISGRANT54620473463581PAG1:7741 IXGRANT5432767-5712046560TAB Sch-SGRANT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 18:30 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39595664&tid=1690345]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
53ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 400ms |

| 0 / 0 |
