Гость
Форумы / [игнор отключен] [закрыт для гостей] / Перестроение индекса блокируется select-ом nolock no / 6 сообщений из 6, страница 1 из 1
06.02.2022, 00:56
    #40131963
madiken
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перестроение индекса блокируется select-ом nolock no
Добрый день!

Возник такой вопрос. Запускаю запрос к бд 1С (sql-сервер), в запросе первая таблица с винтом (nolock), остальные без хинта. Права в бд только на чтение. Запрос - обычный select.
Запрос отрабатывает, сессия продолжает висеть.
На момент запуска запроса уже несколько часов идёт перестроение индекса.
Запрос блокирует перестроение индекса, пока его не срубили.

Вопросы:
- почему "грязное" чтение вообще способно помешать перестроение индекса?
- почему "висящая сессия" с таким запросом способна помешать перестроению индекса?
- как вообще возможна блокировка перестроения индекса запросом на чтение?
- если это nolock, то почему?
- если это "висящая" сессия, то почему?
- это особенность 1с (есть такое мнение) или возможно в любой sql-ной базе.

Нашла много примеров в инете,где первый строение индекса блокирует запрос на чтение nolock, но у нас наоборот: именно перестроение индекса блокируется запросом.
...
Рейтинг: 0 / 0
06.02.2022, 03:29
    #40131975
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перестроение индекса блокируется select-ом nolock no
А точно грязное чтение? Проверьте.
...
Рейтинг: 0 / 0
07.02.2022, 11:27
    #40132169
Перестроение индекса блокируется select-ом nolock no
madiken
это особенность 1с (есть такое мнение)


заявление на увольнение пишется от руки

https://medium.com/hackernoon/how-using-nolock-can-block-your-queries-adc8611105ff
...
Рейтинг: 0 / 0
08.02.2022, 01:15
    #40132388
madiken
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перестроение индекса блокируется select-ом nolock no
Нетрадиционное использование СКД,

Спасибо! Хорошая статья и 3е решение понравилось. Но, если вместо rebuild можно использовать reorganization, почему всё-таки делают rebuild? Насколько критично различие?

И второе,если просто не писать nolock, будут читаться только закоммиченные транзакции,правильно? Такое чтение ведь не должно блокировать перестроение индексов?
...
Рейтинг: 0 / 0
08.02.2022, 10:58
    #40132445
Перестроение индекса блокируется select-ом nolock no
madiken
Но, если вместо rebuild можно использовать reorganization, почему всё-таки делают rebuild?


вы про вообще или 1с? 1с про altertable только "вчера" узнала


madiken
Такое чтение ведь не должно блокировать перестроение индексов?


а почему нет? у таблички есть как минимум pk и индекс кластерный + еще вспомогательных несколько. вы или делаете скан или ждете пока индекс перестроится. данные лежат согласно кластерному индексу, а во вспомогательных - ссылки на кластерный. а что там в голове у оптимизатора происходит - люди специально блоги ведут где изучают поведение субд в разных условиях дикой природы
...
Рейтинг: 0 / 0
08.02.2022, 17:00
    #40132592
madiken
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перестроение индекса блокируется select-ом nolock no
Нетрадиционное использование СКД,

В конференции SQL Server ответили, что с редакции Enterprise чтение без хинта не ставит Sch-s блокировку, если одновременно перестраивается индекс.
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Перестроение индекса блокируется select-ом nolock no / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]