|
Удаление из кучи в виде связного списка
|
|||
---|---|---|---|
#18+
Случался недавно инцидент - начало пропадать место на диске. Оказалось, что проблема в пользовательской таблице-куче, которая должна была очищаться при помощи Delete tbl WITH (TABLOCK). Однако, эта конструкция не освобождает страницы. При ближайшем рассмотрении, оказалось, что это не просто куча, а куча в виде связного списка. Такие кучи упоминаются в http://www.queryprocessor.ru/heap-table-vs-fragmentation/ с комментарием, что такими могут быть системные таблицы. Однако, это не системная таблица, но legacy, по всей видимости со времён SQL2005. Сейчас же (SQL2017) мне не удалось создать кучу в виде связного списка, создается чисто IAM. Связная куча очищается только при помощи более грубой силы вроде ALTER TABLE. Кто-нибудь знает - был ли такой кунстштюк на более ранних версиях? Достаточно ли будет пересоздать таблицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2020, 14:01 |
|
Удаление из кучи в виде связного списка
|
|||
---|---|---|---|
#18+
Владислав Колосов, https://www.sqlskills.com/blogs/paul/when-heap-data-pages-become-linked/ Для избавления от списка достаточно будет Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2020, 14:45 |
|
Удаление из кучи в виде связного списка
|
|||
---|---|---|---|
#18+
Связи были удалены, однако после delete (tablock)/insert (tablock) снова появились на новых страницах. И нет уверенности - почему не освобождаются страницы. Может по другой причине? После truncate таблица также заполняется в ссылочной манере. PS после проведения экспериментов выяснил, что "виновником" появления связанных страниц является INSERT ... WITH (TABLOCK) SELECT ... . ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2020, 23:25 |
|
|
start [/forum/topic.php?fid=46&fpage=70&tid=1686520]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
others: | 319ms |
total: | 428ms |
0 / 0 |