powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / SELECT с клиента очень медленный, но из консоли или pgadmin моментально.
11 сообщений из 11, страница 1 из 1
SELECT с клиента очень медленный, но из консоли или pgadmin моментально.
    #39878858
IvanC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые гуру, подскажите, пожалуйста, почему так тормозит запрос? Имею 2 таблицы в одной 200000 строк, в другой миллион, делаю простой SELECT с JOIN, который непосредственно из pgadmin выполняется за 1 секунду, но стоит мне исполнить его же из Php с помощью pg_query, как он зависает минут на 10... PHP запускается на том же сервере, подключался и через TCP и через Unix socket, также пробовал форомить запрос в хранимую процедуру, но результат тот же... Почему так происходит? В логах ошибок нет, запрос отрабатывается, но очень долго.
...
Рейтинг: 0 / 0
SELECT с клиента очень медленный, но из консоли или pgadmin моментально.
    #39878862
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скорей всего pgadmin неявно для вас добавляет limit к запросу.
...
Рейтинг: 0 / 0
SELECT с клиента очень медленный, но из консоли или pgadmin моментально.
    #39878863
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IvanCУважаемые гуру, подскажите, пожалуйста, почему так тормозит запрос? Имею 2 таблицы в одной 200000 строк, в другой миллион, делаю простой SELECT с JOIN, который непосредственно из pgadmin выполняется за 1 секунду, но стоит мне исполнить его же из Php с помощью pg_query, как он зависает минут на 10... PHP запускается на том же сервере, подключался и через TCP и через Unix socket, также пробовал форомить запрос в хранимую процедуру, но результат тот же... Почему так происходит? В логах ошибок нет, запрос отрабатывается, но очень долго.

А сколько строк в ответе и какой размер ответа?
Включите заодно полный лог запросов в базе - будет понятнее.
...
Рейтинг: 0 / 0
SELECT с клиента очень медленный, но из консоли или pgadmin моментально.
    #39878866
IvanC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В ответе 20 строк примерно, если б добавлялся limit, то это заметно было бы через консоль. Завтра с логами попробую, думал, может в ресурсах дело.
...
Рейтинг: 0 / 0
SELECT с клиента очень медленный, но из консоли или pgadmin моментально.
    #39878870
IvanC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я через консоль Linux выполнял тот же запрос, он тоже быстро выполнялся. Объем вообще ничтожный, 6 полей, в среднем по 5 символов varchar. Объединения по четырем полям, и все они с индексом.
...
Рейтинг: 0 / 0
SELECT с клиента очень медленный, но из консоли или pgadmin моментально.
    #39878874
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IvanCЯ через консоль Linux выполнял тот же запрос, он тоже быстро выполнялся. Объем вообще ничтожный, 6 полей, в среднем по 5 символов varchar. Объединения по четырем полям, и все они с индексом.

Тогда полный лог запросов включайте и приводите выдержки оттуда при выполнении через php и через консоль.
...
Рейтинг: 0 / 0
SELECT с клиента очень медленный, но из консоли или pgadmin моментально.
    #39878959
Troglodit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если в pqsl и pgadmin отрабатывают корректно, то два варианта минимум , но все они не проблема postgresql
1. выполняется запрос отличный от тестового (например напутан тип параметра и индексы могут не работать, другие значения параметров)
2. проблема в самом php (попробовать другую версию).
Но как правило всегда проблема в людях.
...
Рейтинг: 0 / 0
SELECT с клиента очень медленный, но из консоли или pgadmin моментально.
    #39879060
IvanC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Включил полный лог. Все идет нормально до злополучной команды: сначала создается временная таблица, заполняется данными, потом индексы к ней, а в следующий момент происходит SELECT с объединением по 4 полям. На нем лог и останавливается. Никаких ошибок нет, саму строку копирую прямо из PGADMIN, пробовал выполнять так же хранимку. Все одно и то же... А на счет другой версии PHP, ведь PGADMIN на том же PHP и работает, причем я его устанавливал месяц назад, то есть он свежий.
...
Рейтинг: 0 / 0
SELECT с клиента очень медленный, но из консоли или pgadmin моментально.
    #39879095
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IvanCВключил полный лог. Все идет нормально до злополучной команды: сначала создается временная таблица, заполняется данными, потом индексы к ней, а в следующий момент происходит SELECT с объединением по 4 полям. На нем лог и останавливается. Никаких ошибок нет, саму строку копирую прямо из PGADMIN, пробовал выполнять так же хранимку. Все одно и то же... А на счет другой версии PHP, ведь PGADMIN на том же PHP и работает, причем я его устанавливал месяц назад, то есть он свежий.

Так... фраза про временную таблицу уже интереснее... Вы про ВРЕМЕННУЮ таблицу ничего не говорили.
Попробуйте после заливки временной таблицы и создания индексов вызвать ANALYZE на нее явным образом.
Есть шансы что поможет.
...
Рейтинг: 0 / 0
SELECT с клиента очень медленный, но из консоли или pgadmin моментально.
    #39879110
lr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lr2
Гость
IvanCВключил полный лог. Все идет нормально до злополучной команды: сначала создается временная таблица, заполняется данными, потом индексы к ней, а в следующий момент происходит SELECT с объединением по 4 полям. На нем лог и останавливается. Никаких ошибок нет, саму строку копирую прямо из PGADMIN, пробовал выполнять так же хранимку. Все одно и то же... А на счет другой версии PHP, ведь PGADMIN на том же PHP и работает, причем я его устанавливал месяц назад, то есть он свежий.

добавьте begin в начале и end в конце и попробуйте еще раз.
...
Рейтинг: 0 / 0
SELECT с клиента очень медленный, но из консоли или pgadmin моментально.
    #39879202
IvanC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BEGIN-END не помогло, а вот ANALYZE, действительно, выручило! Сам бы я точно не догадался, ведь даже ACCESS запрос моментально исполнял. СПАСИБО!
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / SELECT с клиента очень медленный, но из консоли или pgadmin моментально.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]