Skip to main content

direct

The dictionary is not stored in memory and directly goes to the source during the processing of a request. The dictionary key has the UInt64 type. Only a lookup is selective. dictGet and the other dictionary functions query the source for the requested keys, but reading the dictionary as a table is not a keyed fetch: SELECT ... FROM <dictionary> WHERE key IN (...) reads the whole source and filters the result afterwards, because the key filter is not pushed down into the dictionary. Use the dictionary functions when you want the source to be queried for particular keys. All types of sources, except local files, are supported. Configuration example:

complex_key_direct

This type of storage is for use with composite keys. Similar to direct.
Last modified on September 13, 2026