Skip to content

Создание индексов для версии 5.20.0

В версии ТестОпс 5.20.0 предусмотрен однократный запуск скриптов, которые создадут индексы для одних из самых больших таблиц в вашей базе данных: test_result и test_result_parameters. Это необходимо для улучшения производительности ТестОпс.

Скрипты запускаются во время обновления инстанса ТестОпс. Скорость их выполнения зависит от:

  • размеров таблиц в базе данных;
  • количества обращений к этим таблицам;
  • мощности хоста, где установлена база данных вашего инстанса ТестОпс.

Чтобы избежать простоя в работе вашего инстанса, мы рекомендуем запустить скрипты заранее, до установки версии 5.20.0, в часы наименьшей загрузки инстанса. В этом случае после установки обновления скрипты не будут запускаться повторно.

Проверьте свободное место в хранилище базы данных

Создание индексов для таблиц — ресурсоемкий процесс. Убедитесь, что в хранилище, которое используется вашей базой данных, достаточно свободного места:

  1. Посчитайте размер таблиц test_result и test_result_parameters в вашей базе данных.

    Например:

    sql
    SELECT
     pg_size_pretty(pg_total_relation_size('test_result')) AS test_result_size;
    sql
    SELECT
     pg_size_pretty(pg_total_relation_size('test_result')) AS test_result_parameters_size;
  2. Посчитайте, какое количество свободного места необходимо, чтобы создать индексы:

    test_result_size * 0,22 + test_result_parameters_size * 0,8 + storage_space * 0,4,

    где:

    test_result_size — размер таблицы test_result;

    test_result_parameters_size — размер таблицы test_result_parameters;

    storage_space — общий размер хранилища базы данных.

  3. Обеспечьте наличие требуемого свободного места.

Запустите скрипты

Запустите скрипты для создания индексов:

sql
CREATE INDEX CONCURRENTLY IF NOT EXISTS test_result_params_tr_id_inc_value_name_hidden_excluded_idx
  ON test_result_parameters USING btree (test_result_id)
    INCLUDE (value, name, hidden, excluded);

CREATE INDEX CONCURRENTLY IF NOT EXISTS test_result_launch_id_status_hidden_idx
   ON test_result USING btree (launch_id, status, hidden);

CREATE INDEX CONCURRENTLY IF NOT EXISTS test_result_history_key_launch_id_idx
  ON test_result USING btree (history_key, launch_id);

 CREATE INDEX CONCURRENTLY IF NOT EXISTS test_result_launch_id_external_hidden_inc_tc_id_status_idx
  ON test_result USING btree (launch_id, external, hidden)
    INCLUDE (test_case_id, status);

Logo © 2025 Все права защищены. Сайт принадлежит компании ООО «Инструменты тестирования»