iT>>А так у тебя на длительном запросе быстро уйдет в 99-100% и там останется до конца запроса.
DAS>Можешь предложить другую не особо затратную реализацию ?
Реализацию чего? Показать, что порга не зависла — просто сделай две иконки и рисуй то одну, то другую раз в секунду. Реализацию показа времени, которое запрос выполняется? Тоже просто. А у тебя нито, ни другое — у тебя для 30сек запроса вообще ничего понять нельзя- прогресс в конце и никаких изменений. Ясен пень — зависла
DAS>А если запрос один, но секунд на 20-30 ? СУБД никак не вернет информацию, сколько осталось до завершения выполения запроса
Ну какая-то СУБД это может и умеет, а в какой-то может можно как-то извратиться. В оракле огромная куча инфы по всем сессиям, может что-то подходящее и найдется, а в IB, например, можно поиграться с генераторами — они вне контекста транзакции меняются. Изврат конечно. Но твой вариант — имхо, просто не решает ни одного из трех вариантов постановки (показать процент завершения, показать, что прога не зависла, показать время выполнения).