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

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
06.02.2022, 00:56
|
|||
|---|---|---|---|
Перестроение индекса блокируется select-ом nolock no |
|||
|
#18+
Добрый день! Возник такой вопрос. Запускаю запрос к бд 1С (sql-сервер), в запросе первая таблица с винтом (nolock), остальные без хинта. Права в бд только на чтение. Запрос - обычный select. Запрос отрабатывает, сессия продолжает висеть. На момент запуска запроса уже несколько часов идёт перестроение индекса. Запрос блокирует перестроение индекса, пока его не срубили. Вопросы: - почему "грязное" чтение вообще способно помешать перестроение индекса? - почему "висящая сессия" с таким запросом способна помешать перестроению индекса? - как вообще возможна блокировка перестроения индекса запросом на чтение? - если это nolock, то почему? - если это "висящая" сессия, то почему? - это особенность 1с (есть такое мнение) или возможно в любой sql-ной базе. Нашла много примеров в инете,где первый строение индекса блокирует запрос на чтение nolock, но у нас наоборот: именно перестроение индекса блокируется запросом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.02.2022, 03:29
|
|||
|---|---|---|---|
|
|||
Перестроение индекса блокируется select-ом nolock no |
|||
|
#18+
А точно грязное чтение? Проверьте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.02.2022, 11:27
|
|||
|---|---|---|---|
Перестроение индекса блокируется select-ом nolock no |
|||
|
#18+
madiken это особенность 1с (есть такое мнение) заявление на увольнение пишется от руки https://medium.com/hackernoon/how-using-nolock-can-block-your-queries-adc8611105ff ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.02.2022, 01:15
|
|||
|---|---|---|---|
Перестроение индекса блокируется select-ом nolock no |
|||
|
#18+
Нетрадиционное использование СКД, Спасибо! Хорошая статья и 3е решение понравилось. Но, если вместо rebuild можно использовать reorganization, почему всё-таки делают rebuild? Насколько критично различие? И второе,если просто не писать nolock, будут читаться только закоммиченные транзакции,правильно? Такое чтение ведь не должно блокировать перестроение индексов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.02.2022, 10:58
|
|||
|---|---|---|---|
Перестроение индекса блокируется select-ом nolock no |
|||
|
#18+
madiken Но, если вместо rebuild можно использовать reorganization, почему всё-таки делают rebuild? вы про вообще или 1с? 1с про altertable только "вчера" узнала madiken Такое чтение ведь не должно блокировать перестроение индексов? а почему нет? у таблички есть как минимум pk и индекс кластерный + еще вспомогательных несколько. вы или делаете скан или ждете пока индекс перестроится. данные лежат согласно кластерному индексу, а во вспомогательных - ссылки на кластерный. а что там в голове у оптимизатора происходит - люди специально блоги ведут где изучают поведение субд в разных условиях дикой природы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.02.2022, 17:00
|
|||
|---|---|---|---|
Перестроение индекса блокируется select-ом nolock no |
|||
|
#18+
Нетрадиционное использование СКД, В конференции SQL Server ответили, что с редакции Enterprise чтение без хинта не ставит Sch-s блокировку, если одновременно перестраивается индекс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/moderation_log.php?user_name=%D0%98%D0%B3%D0%BE%D1%80%D1%8C+%D0%A1%D0%B5%D0%B2%D0%B5%D1%80%D0%BD%D1%8B%D0%B9]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
152ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
2ms |
| others: | 1251ms |
| total: | 1495ms |

| 0 / 0 |
