Создание индексов для версии 5.23.0
В версии ТестОпс 5.23.0 предусмотрен однократный запуск скриптов, которые создадут индексы для таблицы launch
в вашей базе данных. Это необходимо для улучшения производительности ТестОпс.
Скрипты запускаются во время обновления инстанса ТестОпс. Скорость их выполнения зависит от:
- размеров таблицы в базе данных;
- количества обращений к этой таблице;
- мощности хоста, где установлена база данных вашего инстанса ТестОпс.
Чтобы избежать простоя в работе вашего инстанса, мы рекомендуем запустить скрипты заранее, до установки версии 5.23.0, в часы наименьшей загрузки инстанса. В этом случае после установки обновления скрипты не будут запускаться повторно.
Проверьте свободное место в хранилище базы данных
Создание индексов для таблиц — ресурсоемкий процесс. Убедитесь, что в хранилище, которое используется вашей базой данных, достаточно свободного места:
Посчитайте размер таблицы
launch
в вашей базе данных.Например:
sqlSELECT pg_size_pretty(pg_total_relation_size('launch')) AS launch_size;
Посчитайте, какое количество свободного места необходимо, чтобы создать индексы:
launch_size * 0,49 + storage_space * 0,4
,где:
launch_size
— размер таблицыlaunch
;storage_space
— общий размер хранилища базы данных.Обеспечьте наличие требуемого свободного места.
Запустите скрипты
Запустите скрипты для создания индексов:
sql
CREATE INDEX CONCURRENTLY IF NOT EXISTS launch_project_id_inc_name_idx
ON launch USING btree (project_id)
INCLUDE (name);
CREATE INDEX CONCURRENTLY IF NOT EXISTS launch_project_id_closed_created_date_inc_name_idx
ON launch USING btree (project_id, closed, created_date DESC)
INCLUDE (name);
CREATE INDEX CONCURRENTLY IF NOT EXISTS launch_project_id_created_date_inc_name_idx
ON launch USING btree (project_id, created_date DESC)
INCLUDE (name);