|
Перестроение индекса блокируется select-ом nolock no
|
|||
---|---|---|---|
#18+
Добрый день! Возник такой вопрос. Запускаю запрос к бд 1С (sql-сервер), в запросе первая таблица с винтом (nolock), остальные без хинта. Права в бд только на чтение. Запрос - обычный select. Запрос отрабатывает, сессия продолжает висеть. На момент запуска запроса уже несколько часов идёт перестроение индекса. Запрос блокирует перестроение индекса, пока его не срубили. Вопросы: - почему "грязное" чтение вообще способно помешать перестроение индекса? - почему "висящая сессия" с таким запросом способна помешать перестроению индекса? - как вообще возможна блокировка перестроения индекса запросом на чтение? - если это nolock, то почему? - если это "висящая" сессия, то почему? - это особенность 1с (есть такое мнение) или возможно в любой sql-ной базе. Нашла много примеров в инете,где первый строение индекса блокирует запрос на чтение nolock, но у нас наоборот: именно перестроение индекса блокируется запросом. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2022, 00:56 |
|
Перестроение индекса блокируется select-ом nolock no
|
|||
---|---|---|---|
#18+
А точно грязное чтение? Проверьте. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2022, 03:29 |
|
Перестроение индекса блокируется select-ом nolock no
|
|||
---|---|---|---|
#18+
madiken это особенность 1с (есть такое мнение) заявление на увольнение пишется от руки https://medium.com/hackernoon/how-using-nolock-can-block-your-queries-adc8611105ff ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2022, 11:27 |
|
Перестроение индекса блокируется select-ом nolock no
|
|||
---|---|---|---|
#18+
Нетрадиционное использование СКД, Спасибо! Хорошая статья и 3е решение понравилось. Но, если вместо rebuild можно использовать reorganization, почему всё-таки делают rebuild? Насколько критично различие? И второе,если просто не писать nolock, будут читаться только закоммиченные транзакции,правильно? Такое чтение ведь не должно блокировать перестроение индексов? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2022, 01:15 |
|
Перестроение индекса блокируется select-ом nolock no
|
|||
---|---|---|---|
#18+
madiken Но, если вместо rebuild можно использовать reorganization, почему всё-таки делают rebuild? вы про вообще или 1с? 1с про altertable только "вчера" узнала madiken Такое чтение ведь не должно блокировать перестроение индексов? а почему нет? у таблички есть как минимум pk и индекс кластерный + еще вспомогательных несколько. вы или делаете скан или ждете пока индекс перестроится. данные лежат согласно кластерному индексу, а во вспомогательных - ссылки на кластерный. а что там в голове у оптимизатора происходит - люди специально блоги ведут где изучают поведение субд в разных условиях дикой природы ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2022, 10:58 |
|
Перестроение индекса блокируется select-ом nolock no
|
|||
---|---|---|---|
#18+
Нетрадиционное использование СКД, В конференции SQL Server ответили, что с редакции Enterprise чтение без хинта не ставит Sch-s блокировку, если одновременно перестраивается индекс. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2022, 17:00 |
|
|
start [/forum/topic.php?fid=28&fpage=1&tid=1518083]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 256ms |
total: | 387ms |
0 / 0 |