Skip to main content
Skip to main content
Edit this page

system.dictionary_layouts

Description

Contains the list of dictionary layouts supported by the server, along with embedded documentation for each layout. A dictionary layout determines how a dictionary is stored in memory (or on disk) and how it is looked up; it is specified in the LAYOUT clause of a CREATE DICTIONARY query.

Columns

  • name (String) — The name of the dictionary layout, as specified in the LAYOUT clause.
  • is_complex (UInt8) — Whether the layout requires a complex key (a key consisting of several attributes or of a non-integer type).
  • description (String) — A high-level description of what the dictionary layout does.
  • syntax (String) — How the layout is specified in the LAYOUT clause of a CREATE DICTIONARY query.
  • examples (String) — Usage examples.
  • introduced_in (String) — The ClickHouse version in which the layout was first introduced, in the form major.minor.
  • related (Array(String)) — The names of related dictionary layouts.

Example

SELECT name, is_complex, syntax
FROM system.dictionary_layouts
WHERE name IN ('flat', 'hashed', 'complex_key_hashed')
ORDER BY name
┌─name───────────────┬─is_complex─┬─syntax───────────────────────────────────────────────────┐
│ complex_key_hashed │          1 │ LAYOUT(COMPLEX_KEY_HASHED())                             │
│ flat               │          0 │ LAYOUT(FLAT([INITIAL_ARRAY_SIZE n] [MAX_ARRAY_SIZE n]))  │
│ hashed             │          0 │ LAYOUT(HASHED())                                         │
└────────────────────┴────────────┴──────────────────────────────────────────────────────────┘

See also