Встречается на собеседованиях • сегодня
Как добавить индекс в таблицу, состоящую из миллиона записей в PostgreSQL
Для добавления индекса в PostgreSQL на большой таблице используйте CREATE INDEX CONCURRENTLY, чтобы избежать блокировки таблицы на время создания:
sql
CREATE INDEX CONCURRENTLY idx_name ON table_name(column_name);Важные нюансы:
CONCURRENTLYпозволяет читать/писать в таблицу во время создания индекса- Процесс занимает больше времени и ресурсов
- Нельзя использовать в транзакции
- При ошибке создаст "невалидный" индекс (проверить можно через
pg_indexes)
Для очень больших таблиц лучше создавать индекс в период низкой нагрузки. Если нужно ускорить процесс, можно временно увеличить maintenance_work_mem:
sql
SET maintenance_work_mem = '1GB';
CREATE INDEX CONCURRENTLY idx_name ON large_table(column);
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы