того, чтобы посмотреть план и оценку затрат запроса update.
В изменяемой таблице есть множество индексов (22 штуки), как увидеть сколько было потрачено на изменения индексов?
План вот такой:
Update on student_tasks (cost=0.56..1839.49 rows=990 width=182) (actual time=110.597..110.597 rows=0 loops=1)
-> Index Scan using pk_student_task on student_tasks (cost=0.56..1839.49 rows=990 width=182) (actual time=0.010..0.622 rows=1000 loops=1)
Index Cond: (student_task_id <= 1045)
Planning Time: 0.135 ms
Execution Time: 110.651 ms
Если в общем, я хочу увидеть насколько эффективен будет update, если я удалю неиспользуемые индексы.
Не сам вопрос не отвечу, но задам свой: а зачем вообще этот тест если у вас уже есть неиспользуемые индексы и вы об этом знаете ? Просто удалите и всё) хуже то точно не будет
Просто удалить их не получается по организационным причинам) Нужно предоставить обоснование, тогда это несколько ускорит процедуру выпиливания.
Сам факт их перестраивания при апдейте - вполне себе аргумент...но у вас видимо прям числа хотят))
Ну типа если выигрыш будет незначительным, то можно выпиливание поставить через релиз, как не особо важное.
Скопировать базу (лучшэ файлово), и сравнить на дев-среде -- перед удалением индэксов и после.
в отчёте pg_profile есть прям секция с неиспользуемыми индексами :) Наверно и в мониторингах бывает.
Обсуждают сегодня