Низкая производительность по запросу PostgreSQL
ОБНОВЛЕНИЕ: Мне пришло в голову: возможно ли, что pgAdmin считает не фактическое время запроса, а время, необходимое для отображения результатов в сетке?
Я просто выполнил запрос с помощью командной строки (psql) и вывел результаты в текстовый файл, и он был очень быстрым (1-2 секунды).
В этом случае проблема не в конфигурации сервера postgresql / ubuntu; это скорее проблема адаптера дисплея.
Я прав или ищу в неправильном направлении?
На моем «старом» ПК (Core 2 Duo, 4 ГБ ОЗУ, 250 ГБ SATA HD), работающем в Arch Linux 64bit, я могу выполнить простой запрос «SELECT * FROM sometable» за 0,4 мс (я использую pgAdmin 3). База данных - это PostgreSQL 9.1 (с PostGIS), и таблица содержит около 60 000 строк.
Я перенес базу данных на более новый компьютер (Core i5, 8 ГБ ОЗУ, 1 ТБ Western Digital Black SATA III), и тот же запрос занимает целых 22 секунды (!!!). На новом компьютере установлен Ubuntu Server 13.04 64bit.
Для дальнейшего тестирования я скопировал базу данных на 64-битный ПК с Windows 7 (Core i5, 6 ГБ ОЗУ), и запрос выполняется примерно за 10 секунд.
Это явно проблема конфигурации, но я немного запутался, является ли это проблемой конфигурации PostgreSQL или Ubuntu Server.
Я уже пытался поиграться с conf-файлами PostgreSQL (kernel.shmmax, shared_buffers и т. Д.), Но безрезультатно. И конечно я VACUUMed, VACUUM ANALYZed и воссоздал все показатели.
Есть идеи? Я заинтересован в решении Ubuntu Server, а не о Windows 7.
Заранее спасибо,
Ebl