powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Хранимая процедура выполняется дольше, чем запрос
10 сообщений из 10, страница 1 из 1
Хранимая процедура выполняется дольше, чем запрос
    #39387825
Z_Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, товарищи! Столкнулся с проблемой: один и тот же запрос выполняется за разное время, если его запихнуть в процедуру и если его выполнить отдельно.
Возьмем для примера запрос вида SELECT 1;
Выполним его в dbForge как текст - 0мс
Выполним как Процедура - 200мс
Не верим клиенту? ок, попробуем стандартную утилиту. Результат вы видите)

Пробовал выполнять непосредственно на сервере - там отлично: и запрос, и процедура отрабатывают за 0 мс.
Менял кодировку базы - результат не меняется.

При этом есть процедуры, которые делают куда более сложные запросы и выполняются за 3-4мс на клиенте!

Что за бред?!
...
Рейтинг: 0 / 0
Хранимая процедура выполняется дольше, чем запрос
    #39387826
Z_Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще скриншотов в достоверность
...
Рейтинг: 0 / 0
Хранимая процедура выполняется дольше, чем запрос
    #39387827
Z_Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Хранимая процедура выполняется дольше, чем запрос
    #39390509
Фотография devart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сообщите версию dbForge Studio for MySQL?

Используете ли подключение к одному и тому же серверу при вызове процедуры и выполнении запроса?
...
Рейтинг: 0 / 0
Хранимая процедура выполняется дольше, чем запрос
    #39390920
Z_Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
devart, версия 7.2.53

Да, и запрос, и выполнение процедуры происходило на одном и том же сервере.
Фраза "Пробовал выполнять непосредственно на сервере - там отлично: и запрос, и процедура отрабатывают за 0 мс." означает, что мы заходим на сервер, запускаем mysql-клиент локально и выполняем запрос и процедуру.
Ежели грешить на сеть - то почему есть некоторые процедуры все же выполняются за 0-2 мс?

Неужели никто не сталкливался с подобным?
...
Рейтинг: 0 / 0
Хранимая процедура выполняется дольше, чем запрос
    #39390927
Z_Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Z_ErmakЗдравствуйте, товарищи! Столкнулся с проблемой: один и тот же запрос выполняется за разное время, если его запихнуть в процедуру и если его выполнить отдельно.
Возьмем для примера запрос вида SELECT 1;
Выполним его в dbForge как текст - 0мс
Выполним как Процедура - 200мс
Не верим клиенту? ок, попробуем стандартную утилиту. Результат вы видите)

Пробовал выполнять непосредственно на сервере - там отлично: и запрос, и процедура отрабатывают за 0 мс.
Менял кодировку базы - результат не меняется.

При этом есть процедуры, которые делают куда более сложные запросы и выполняются за 3-4мс на клиенте!

Что за бред?!

К слову, версия MySQL 5.6.26
...
Рейтинг: 0 / 0
Хранимая процедура выполняется дольше, чем запрос
    #39391336
Фотография devart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы можете попробовать установить dbForge Studio for MySQL на сервере, где установлен MySQL клиент, и сравнить результаты.
...
Рейтинг: 0 / 0
Хранимая процедура выполняется дольше, чем запрос
    #39392304
Z_Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
devart, это невозможно, так сервер на FreeBSD и графической оболочки нет =(
В общем-то dbForge ведет себя правильно, так же как и встроенный клиент MySQL...
...
Рейтинг: 0 / 0
Хранимая процедура выполняется дольше, чем запрос
    #39417880
Z_Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
UPD: Итак, опытным путём выяснилось, что развернув бэкап базы с идентичными конфигами на Debian данная проблема магическим образом исчезает.

UPD2: Что выяснилось еще: если из консоли клиентом коннектиться к localhost - все отрабатывает быстро, но если подключиться к этому же серверу, но по внешнему ip (192.168.0.27) - даже вызывая из консоли на стороне сервера хранимые процедуры выполняются за 100мс!

UPD3: Проблема решилась.

Методом тыка и переборкой выяснилось, что если сервер работает на FreeBSD, а параметр bind-address в my.cnf не указан, то возникает описанная выше ситуация. Ежели указать bind-address - все работает быстро, и процедура также отрабатывает за 1мс. При этом, на Ubuntu server или debian при отсутствии данного параметра сей баг не наблюдается.
...
Рейтинг: 0 / 0
Хранимая процедура выполняется дольше, чем запрос
    #39417961
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробую предположить, что skip_name_resolve установлена в OFF сейчас (дефолтовое значение). Потому на каждый коннект сервер выполняет дополнительный запрос к ДНС. Что, собственно, и видно из Вашего UPD2 (при подключении через сокет резолвинг имён не требуется).
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Хранимая процедура выполняется дольше, чем запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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