Другие ответы здесь (с использованием быстрого полного сканирования индекса или проверки статистики user_tab_columns
) превосходны.
Вот еще один метод, который может подойти - если вас интересует только приблизительная оценка, вы можете воспользоваться предложением SAMPLE
(и отрегулировать размер выборки вверх или вниз в зависимости от того, насколько она вам нужна):
SELECT max(value), min(value) FROM t SAMPLE(1);
Это займет 1% выборки из таблицы. Обычно при каждом запуске он выбирает разные строки, поэтому не ожидайте, что результаты будут одинаковыми при запуске. Если вы хотите, чтобы он работал быстрее, вы можете использовать меньшие размеры выборки, например, SAMPLE(0.01)
, или, если вы хотите взять половину таблицы, SAMPLE(50)
.
Преимущество этого подхода по сравнению с подходом "анализ, затем-запрос-пользователя-вкладки" заключается в том, что анализ в любом случае выполняет запросы, подобные этим, для генерации статистики - поэтому выполнение этого способа может означать меньше работы в целом .