Давно хотел посмотреть сам на этот механизм, но Льюис уже выложил тесты.
Определение
По результатам тестов Льюиса для Oracle 10.2, проверяется содержимое буферного кеша (x$bh), количество touch и количество блоков для таблиц разных размеров:
Определение
- Table < (2%*buffer_cache) = _small_table_threshold is located into the middle point of LRU list when loaded into the buffer cache.
- Table > (2%*buffer_cache) = _small_table_threshold is located into the cold end of the LRU list when loaded into the buffer cache.
По результатам тестов Льюиса для Oracle 10.2, проверяется содержимое буферного кеша (x$bh), количество touch и количество блоков для таблиц разных размеров:
- Для больших таблиц (свыше 10% кеша) touch не увеличивается, используется table scans (long)
- Для таблиц больше 25% буферного кеша при сканировании буферы переиспользуются
- Для таблиц меньше 10% буферного кеша touch увеличивается, причем первое сканирование таблицы не увеличивает touch (получается table scans (long)), последующие увеличивают (table scans (short))
- Для таблиц менее 2% touch count увеличивается каждый раз, используются table scans (short)
- Для 9-й и менее версий оракла поведение соответствует определению.