Я очень плохо знаком с Oracle, и мне было интересно, есть ли способ с помощью какого-либо инструмента или программно оценить, сколько времени потребуется для выполнения запроса?
спасибо!
EXPLAIN PLAN должен сообщить вам стоимость, но она очень грубая.
Лучший способ оценить время выполнения - это создать некоторые тестовые данные, которые напоминают реальные данные, которые вы ожидаете получить, запустить их на этих данных и определить время, которое требуется.
Да, есть путь теоретически. По крайней мере, в Sybase (и, вероятно, в oriacle) есть такая вещь, как статистика таблиц (используемая оптимизатором для определения наиболее оптимального плана запроса). Вы можете вычислить приблизительное количество данных, которые вернет запрос, и сколько времени это займет.
Однако, это не тривиально (вам в основном нужно дублировать логику оптимизатора и компилятора запросов) и статистика может быть недоступна для внешнего кода.