Enum PinningTier
- Namespace
- RocksDbNet
- Assembly
- RocksDb.Net.dll
Which index and filter blocks are kept pinned in the block cache, mapped
from rocksdb::PinningTier in table.h.
public enum PinningTier
Fields
All = 3Pin blocks from every table.
Fallback = 0Defer to the older boolean pinning options. This is the default, kept for compatibility.
FlushedAndSimilar = 2Pin blocks from tables that could have come from a memtable flush, which in practice means the small, recent files in level 0.
None = 1Pin nothing.
Remarks
A pinned block cannot be evicted, so it is always a cache hit and never needs re-reading. The cost is that it occupies capacity permanently, so pinning more leaves less room for data blocks.
These are distinct from the older boolean flags such as
pin_top_level_index_and_filter. A tier chooses which blocks
are pinned rather than switching one behaviour on and off, which is why it
is an enum and not a flag.