2017-02-09 5 views
0

Я новичок в 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 секунд для возврата. Почему это так? Я подозреваю, что большая выборка данных и отображение, которые вызывают проблему, но как уменьшить это время?

+0

Это зависит от клиента и от чистой скорости/задержки. Вы должны сказать, какой клиент вы используете. Обычно вы ничего не можете сделать - более быстрый и быстрый клиент. Вы можете уменьшить количество столбцов - не используйте звездочку '*' - это может уменьшить содержимое, перемещенное по сети. –

ответ

0

Известная проблема, что pgAdmin может занять много времени, чтобы отобразить большой набор результатов.

Используйте другой клиент, например, psql.

Смежные вопросы