Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
В результате выполнения ожидаемых строк 10 млн. а по факту 0 строк. (на скрине). Я правильно понимаю по было просканировано 10 млн. строк, т.к. это было в транзакции эти 10 млн. строк заблокированы до окончания транзакции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 16:44 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
leonix, зависит от уровня изоляции и типа блокировки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 16:51 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
В запросе with(nolock) Код: 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. 40. 41. 42. 43. 44. 45. 46. 47. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 16:53 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
leonix, авторВ запросе with(nolock) ну так и на первую половину вопроса отвечайте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:04 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
leonix 1. У вас локальная временная таблица, зачем вам вообще беспокоиться о блокировках? 2. при nolock накладывается только schema stability блокировка на таблицу, чтобы избежать модификации ее структуры в процессе получения данных. Она будет снята сразу после завершении стейтмента. 3. только при уровне изоляции serializable на объекте могут остаться блокировки после завершения читающего стейтмента ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:09 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
msLexleonix 1. У вас локальная временная таблица, зачем вам вообще беспокоиться о блокировках? 2. при nolock накладывается только schema stability блокировка на таблицу, чтобы избежать модификации ее структуры в процессе получения данных. Она будет снята сразу после завершении стейтмента. 3. только при уровне изоляции serializable на объекте могут остаться блокировки после завершения читающего стейтмента за стеной красного текста не увидел остальные объекты. первый пункт вычеркиваем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:11 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
msLex, ну ещё REPEATABLE READ хотя NOLOCK ничего деражать "после" не будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:12 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
Насколько я понял идёт длительная транзакция с уровнем изоляции READ COMMITTED. Меня ещё интересует, судя по скрину, сканируется 10 млн? Т.е. скуль перебирает 10 млн? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:15 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
leonixНасколько я понял идёт длительная транзакция с уровнем изоляции READ COMMITTED. Меня ещё интересует, судя по скрину, сканируется 10 млн? Т.е. скуль перебирает 10 млн? Estimate это сколько он "прикинул" что прийдётся читать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:17 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
TaPaK, а по факту сколько просканировал? Я подозреваю что все 10 млн, но как в этом убедиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:17 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
leonixа по факту сколько просканировал? Я подозреваю что все 10 млн, но как в этом убедиться?Смотреть не оценку плана выполнения, а реальный план выполнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:20 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
leonixTaPaK, а по факту сколько просканировал? Я подозреваю что все 10 млн, но как в этом убедиться? по факту этот блок вообще не выполянлся ни разу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:22 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
alexeyvgleonixа по факту сколько просканировал? Я подозреваю что все 10 млн, но как в этом убедиться?Смотреть не оценку плана выполнения, а реальный план выполнения. Спасибо! Сейчас попробуй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:22 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
TaPaKmsLex, ну ещё REPEATABLE READ хотя NOLOCK ничего деражать "после" не будет Да, конечно REPEATABLE READ оставляет блокировки по выбранным данным. Я хотел описать ситуацию как у ТС, селект перебрав 10 млн строк не возвращает данные, но забыл указать этот пункт. А с учетом того, что у ТС не 1 таблица (как мне показалось вначале), а несколько, то и в этом случае REPEATABLE READ может оставить блокировки, если фильтрация произошла не при вычитки из объекта, а позже, например фильтрация по данным другой таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:22 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
Хм, ну что-то он должен был прочитать, чтобы убедиться, что данных нет на первой же странице. Если там только не констрейнт помог. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:25 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовХм, ну что-то он должен был прочитать, чтобы убедиться, что данных нет на первой же странице. Если там только не констрейнт помог. там может быть все, что угодно скан внутри nested loop, который не выполнился ни разу стартап предикат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:29 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
Вот факт получил. Теперь интересует блокирует 10 млн или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:29 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
leonixВот факт получил. Теперь интересует блокирует 10 млн или нет? вам же уже сказали, nolock (AKA readuncommitted) не накладывает блокировок на уровне строк будут блокировки на уровне таблицы в insert, но, какие - вопрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:32 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
На просторах интернета нарыл вот такую таблицу. Не знаю, насколько ей можно доверять. Мой случай выделил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:37 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:38 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
Если у меня сканируется вся таблица (там всего 10 млн.), то на всю таблицу накладывается S блокировка. То при попытке другого запроса наложить X хотябы на одну запись у меня будет блокировка. Я правильно понимаю, если верить этой табличке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:38 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
leonixМой случай выделил. NOLOCK -- это не READ COMMITTED. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:39 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
я не вижу у вас begin tran ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:40 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
leonixНа просторах интернета нарыл вот такую таблицу. Не знаю, насколько ей можно доверять. Мой случай выделил. это вам так хочется? Прочитайте что делает NOLOCK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:43 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
leonixНа просторах интернета нарыл вот такую таблицу. Не знаю, насколько ей можно доверять. Мой случай выделил. Ваш случай самый первый ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 17:52 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
alexeyvgleonixНа просторах интернета нарыл вот такую таблицу. Не знаю, насколько ей можно доверять. Мой случай выделил. Ваш случай самый первый У меня в транзакции. Это в проведении документа. Проведение в транзакции. Режим управления блокировками Управляемый. Как определить какой у меня уровень изоляции? В профайлере? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 19:59 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
leonixalexeyvgпропущено... Ваш случай самый первый У меня в транзакции. Это в проведении документа. Проведение в транзакции. Режим управления блокировками Управляемый. Как определить какой у меня уровень изоляции? В профайлере? nolock - это синоним read uncommited ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 20:20 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
leonixalexeyvgпропущено... Ваш случай самый первый У меня в транзакции. Это в проведении документа. Проведение в транзакции. Режим управления блокировками Управляемый. Как определить какой у меня уровень изоляции? В профайлере? мама дорогая, вам уже несколько раз повторили у вас в запросе использовано явное хинтование Код: sql 1. у всех таблиц табличное указание read uncommitted уровня изоляции, в таком случае у вас для чтения из этих таблиц поведение будет как на уровне изоляции read uncommitted, и совершенно пофигу что у вас изначально ваш уровень изоляции read committed Код: sql 1. 2. эквивалентно Код: sql 1. 2. поэтому совмещаемых блокировок на уровне строк для ваших читаемых таблиц накладываться не будет. будут только блокировки sch-S на уровне таблиц. вот если у вас в запросе на уровне изоляции read committed к примеру будет инструкция Код: sql 1. 2. 3. 4. то table1 будет читаться без блокировки строк, а вот на строки table2 S-блокировки строк будут запрошены, также будут наложены IS на уровне страниц и объекта. (или еще возможна эскалация) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 20:23 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
У меня на этой таблице блокировок много. Тогда получается, что если одна транзакция меняет хотябы одну строку в этой таблице, т.е. наложила x блокировку, то этот запрос не сможет выполниться, т.к. он пытается наложить s блокировку на все 10 млн. записей. Отсюда постоянные блокировки. Я правильно понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 21:37 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
leonixУ меня на этой таблице блокировок много. Тогда получается, что если одна транзакция меняет хотябы одну строку в этой таблице, т.е. наложила x блокировку, то этот запрос не сможет выполниться, т.к. он пытается наложить s блокировку на все 10 млн. записей. Отсюда постоянные блокировки. Я правильно понял? Не, блокировки не будет. Всем спасибо! Пойду искать где блокировки возникают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 21:57 |
|
||
|
Подскажите по плану выполнения запроса. Сколько будет заблокировано строк?
|
|||
|---|---|---|---|
|
#18+
leonixВсем спасибо! Пойду искать где блокировки возникают.Так вы гадаете, глядя на запросы? Не проще просто посмотреть? Например, sp_WhoIsActive ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2019, 01:35 |
|
||
|
|

start [/forum/topic.php?all=1&fid=46&tid=1687957]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
54ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 226ms |
| total: | 375ms |

| 0 / 0 |
