По умолчанию MySQL кэширует запросы в ваших хранимых процедурах. Проверьте, включен ли Query Cache:
SHOW VARIABLES LIKE 'query_cache%'
Вызовы хранимых процедур не кэшируются MySQL, но если query_cache_type
включено, это повлияет на кэширование запросов, отправленных из процедуры. Возможно, заставляя MySQL возвращать те же результаты в течение пары минут. Попробуйте очистить кеш, или еще лучше, сбросьте кеш запросов, чтобы удалить все запросы, если ваша обновленная процедура продолжает возвращать предыдущий набор результатов:
RESET QUERY CACHE
Это должно устранить любое кэширование сервером MySQL.
В следующий раз, когда это произойдет, вы можете выполнить процедуру вручную через другой инструмент, который не использует MySQL / Connector или Enterprise Library. Это скажет вам, если старый набор результатов кэшируется либо MySQL, либо драйверами и блоками приложения в вашем приложении.
Редактировать: пожалуйста, прочитайте комментарии ниже, автор desertwebdesign. После воссоздания sproc сбросьте соединение. Пул соединений может держать соединение открытым, поэтому, вероятно, лучше убить соединение из MySQL. У большинства браузеров запросов есть вкладка, которая позволяет уничтожать соединения в MySQL, если вы входите в систему с привилегиями процесса / супер.
SHOW FULL PROCESSLIST
KILL CONNECTION thread_id