Table of Contents

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 = 3

Pin blocks from every table.

Fallback = 0

Defer to the older boolean pinning options. This is the default, kept for compatibility.

FlushedAndSimilar = 2

Pin blocks from tables that could have come from a memtable flush, which in practice means the small, recent files in level 0.

None = 1

Pin 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.