×
Мы обрабатываем cookies, чтобы сделать наш сайт удобнее и персонализированнее для вас. Подробнее: политика использования «cookies» и «политики конфиденциальности».

Для самостоятельной настройки ознакомьтесь с инструкцией

Дополнительные настройки cookies в браузерах

Файлы cookie автоматически загружаются в ваш браузер при посещении веб-сайта. У вас есть возможность управлять этими файлами. Если Вы не согласны с использованием файлов cookies, запретите их сохранение на своём устройстве, удалите уже имеющиеся файлы cookies через настройки браузера или прекратите использование сайта.

При отключении обработки cookie наш сайт продолжит функционировать, однако будут использоваться исключительно необходимые технические файлы, без которых работа ресурса невозможна.

Инструкция по отключению cookies
Принять
Настроить
Отклонить

ДОКУМЕНТАЦИЯ

Выберите версию, форк и язык для СУБД Digital Q.DataBase, чтобы прочитать или скачать всю документацию.
Техподдержка
Документация
Диасофт
Авторские права © 2016–2025 ООО "Диасофт Экосистема"
Скачать всю документацию:

7.15.7. Кортежи только в куче (HOT)

Для обеспечения высокого уровня параллелизма Digital Q.DataBase использует многоверсионное управление параллельным доступом (MVCC) для хранения строк. Однако MVCC имеет некоторые недостатки при выполнении запросов на обновление. В частности, операции обновления требуют добавления в таблицы новых версий строк. Это также может потребовать создания новых индексных записей для каждой обновленной строки, а удаление старых версий строк и соответствующих им индексных записей может быть ресурсоемким.

Для снижения накладных расходов при обновлении данных Digital Q.DataBase использует оптимизацию, называемую Heap-Only Tuples — кортежи только в куче (HOT). Данная оптимизация возможна в следующих случаях:

  • Обновление не изменяет значения в столбцах, используемых индексами таблицы (за исключением суммирующих индексов). Единственным методом суммирующего индекса в основном Digital Q.DataBase дистрибутиве является BRIN.

  • На странице, содержащей старую версию строки, достаточно свободного места для размещения обновленной строки.

В таких случаях кортежи типа heap-only (HOT) обеспечивают две оптимизации:

  • Для представления обновленных строк не требуются новые индексные записи, однако может потребоваться обновление сводных индексов.

  • При многократном обновлении строки версии строк, отличные от самой старой и самой новой, могут быть полностью удалены в ходе обычной работы, включая SELECTs, вместо того чтобы требовать проведения периодических операций очистки (vacuum). (Индексы всегда ссылаются на идентификатор элемента страницы исходной версии строки. Данные кортежа, связанные с этой версией строки, удаляются, а ее идентификатор элемента преобразуется в перенаправление (redirect), указывающее на самую старую версию, которая все еще может быть видима какой-либо параллельной транзакции. Промежуточные версии строк, которые более не видны ни одной транзакции, полностью удаляются, а связанные с ними идентификаторы элементов страницы становятся доступными для повторного использования.)

Вероятность наличия достаточного свободного места на странице для HOT обновлений можно повысить, уменьшив параметр таблицы fillfactor. Если этого не сделать, HOT обновления всё равно будут выполняться, так как новые строки будут естественным образом перемещаться на новые страницы или на существующие страницы, имеющие достаточно свободного места для размещения новых версий строк. Системное представление pg_stat_all_tables позволяет отслеживать частоту HOT- и не-HOT-обновлений.

Наверх
свяжитесь
с нами
контакты
Для прямой связи с нами вы можете использовать контакты ниже, либо оставить заявку через форму обратной связи, и мы обязательно свяжемся с вами

*поля обязательные к заполнению