Каждая запись в индексированный столбец также должна обновлять каждый индекс в этом столбце, а не только строку — поэтому большее количество индексов означает более медленную запись и большую нагрузку на память/диск, конкурирующую с пулом буферов. Индексируйте столбцы, которые фактически фильтруются/сортируются/объединяются часто, а не упреждающе.
Пример
ALTER TABLE users ADDCOLUMN deleted_at TIMESTAMPTZ;
CREATEUNIQUE INDEX uq_users_email_active
ON users (email)
WHERE deleted_at ISNULL;
Итог
Каждая запись в индексированный столбец также должна обновлять каждый индекс в этом столбце, а не только строку — поэтому большее количество индексов означает более медленную запись и большую нагрузку на память/диск, конкурирующую с пулом буферов.
Почему нельзя бесплатно добавить индекс к каждому столбцу, который … · Sobeso