У меня есть запрос в PostgreSQL (скорее вызов func), который обычно возвращается, скажем, в течение 5-6 секунд. Это случается в 90-59% случаев, я думаю. Иногда, хотя этот же самый вызов функции занимает 10-20 минут или даже 1-2 часа. Параметры, передаваемые функции в этом «более медленном случае», такие же, как и в «более быстром случае».
Что может быть причиной этого? Возможно ли, что PostgreSQL выберет другой план выполнения, хотя параметры в точности совпадают?
Так как меня спросят об общей нагрузке на сервер ... Я не думаю, что это связано. Мне кажется, я видел случаи, когда мой вызов func был медленным, даже без какой-либо значительной дополнительной нагрузки на сервер (другими сеансами клиента).
Так что, когда запрос будет медленным, мне кажется совершенно случайным. Но, логически говоря, я знаю, что это не может быть случайным, на него должен влиять какой-то фактор.
Это именно моя точка зрения: что это за фактор? Это кажется глубокой проблемой, поэтому любые хорошие предложения или советы будут высоко оценены.
Большое спасибо заранее.