В конфигурации по умолчанию Oracle проверит статистику таблицы (которую можно посмотреть, запросив представление ALL_TABLES
- см. Столбец NUM_ROWS
). Обычно задание Oracle выполняется периодически для повторного сбора этой статистики путем запроса части или всей таблицы.
Если статистика еще не была собрана (пока), оптимизатор (в зависимости от параметра optimizer_dynamic_sampling
) выполнит быстрый выборочный запрос к таблице, чтобы рассчитать оценку количества строк в этой таблице.
(Точнее, стоимость сканирования таблицы рассчитывается не по количеству строк, а по количеству блоков в таблице (которое вы можете увидеть в столбце BLOCKS
в ALL_TABLES
). берет это число и делит его на коэффициент, относящийся к количеству считанных мультиблоков, чтобы вычислить стоимость этой части плана.)