Я новичок в postgresql.Как улучшить получение данных для Postgresql
Во-первых, у меня есть представление под названием school_view, который содержит все школы из разных стран:
SELECT * FROM country1_schools
UNION
SELECT * FROM country2_schools
UNION
.....
Есть около 200000 записей
Я попробуйте запустить следующую команду pgadmin:
SELECT * FROM school_view
Результаты заняли 17 секунд, чтобы вернуться. Я пытаюсь объяснить ПРОАНАЛИЗИРУЙТЕ запрос с
EXPLAIN ANALYZE SELECT * FROM school_view
время планирования является 15ms и время выполнения 900ms.
Так что я попытался с помощью материализованного представления вместо нормального вида и
EXPLAIN ANALYZE SELECT * FROM school_material_view
время планирования становится 0.192ms и время выполнения становится 36.9ms. Однако здесь возникает проблема, когда я запускаю
SELECT * FROM school_material_view
Результаты STILL забирают 17 секунд для возврата. Почему это так? Я подозреваю, что большая выборка данных и отображение, которые вызывают проблему, но как уменьшить это время?
Это зависит от клиента и от чистой скорости/задержки. Вы должны сказать, какой клиент вы используете. Обычно вы ничего не можете сделать - более быстрый и быстрый клиент. Вы можете уменьшить количество столбцов - не используйте звездочку '*' - это может уменьшить содержимое, перемещенное по сети. –