Package org.rocksdb

Enum Class IndexType

java.lang.Object
java.lang.Enum<IndexType>
org.rocksdb.IndexType
All Implemented Interfaces:
Serializable, Comparable<IndexType>, Constable

public enum IndexType extends Enum<IndexType>
IndexType used in conjunction with BlockBasedTable.
  • Enum Constant Details

    • kBinarySearch

      public static final IndexType kBinarySearch
      A space efficient index block that is optimized for binary-search-based index.
    • kHashSearch

      public static final IndexType kHashSearch
      The hash index, if enabled, will do the hash lookup when Options.prefix_extractor is provided.
    • kTwoLevelIndexSearch

      public static final IndexType kTwoLevelIndexSearch
      A two-level index implementation. Both levels are binary search indexes.
    • kBinarySearchWithFirstKey

      public static final IndexType kBinarySearchWithFirstKey
      Like kBinarySearch, but index also contains first key of each block. This allows iterators to defer reading the block until it's actually needed. May significantly reduce read amplification of short range scans. Without it, iterator seek usually reads one block from each level-0 file and from each level, which may be expensive. Works best in combination with: - IndexShorteningMode::kNoShortening, - custom FlushBlockPolicy to cut blocks at some meaningful boundaries, e.g. when prefix changes. Makes the index significantly bigger (2x or more), especially when keys are long.
  • Method Details

    • values

      public static IndexType[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static IndexType valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • getValue

      public byte getValue()
      Returns the byte value of the enumerations value
      Returns:
      byte representation