Включает ли поле размера Redshift SVV_TABLE_INFO удаленные, но не очищенные данные? - PullRequest
0 голосов
/ 18 сентября 2019

Согласно документам по красному смещению , поле SVV_TABLE_INFO.tbl_rows содержит строки, помеченные для удаления, но еще не очищенные пылесосом .Но поле SVV_TABLE_INFO.size описывается только как Размер таблицы в блоках данных 1 МБ .Я хотел бы получить данные до и после запуска ручной команды вакуума, чтобы определить эффективность очистки на столе.Поэтому требуется уточнение.

1 Ответ

1 голос
/ 20 сентября 2019

Да, размер включает deleted записей size, пока не произойдет Vacuum.

Шаги, чтобы доказать мою точку зрения.

# select table_id,size from SVV_TABLE_INFO where table_id='358723';
 table_id |  size
----------+------
   358723 |   52
(1 row)

Теперь Delete записей.

delete from example_table where c_name='12';
DELETE 200009

Теперь, запустите снова

select table_id,size from SVV_TABLE_INFO where table_id='358723';
 table_id |  size
----------+------
   358723 |   52
(1 row)

Теперь, запустите vacuum.

vacuum delete only example_table;

select table_id,'table',size from SVV_TABLE_INFO where table_id='358723';
 table_id | size
----------+------
   358723 |   44
(1 row)

Надеюсь, это поможет!

...