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 description of what the dictionary layout does. For layouts that have a dedicated documentation page, this contains the full Markdown body of that page; for the remaining layouts it is a concise summary.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
- Dictionary layouts — Information about dictionaries and their layouts.