CREATE TABLE simple_key_flat_dictionary_source_table ( id UInt64, value_int UInt64, value_string String, value_decimal Decimal64(8), value_string_nullable Nullable(String) ) ENGINE = Memory; CREATE DICTIONARY simple_key_flat_dictionary ( id UInt64, value_int UInt64, value_string String, value_decimal Decimal64(8), value_string_nullable Nullable(String) ) PRIMARY KEY id SOURCE(CLICKHOUSE(DB 'default' TABLE 'simple_key_flat_dictionary_source_table')) LAYOUT(FLAT(INITIAL_ARRAY_SIZE 50000 MAX_ARRAY_SIZE 5000000)) LIFETIME(MIN 0 MAX 1000) INSERT INTO simple_key_flat_dictionary_source_table SELECT number, number, toString(number), toDecimal64(number, 8), toString(number) FROM system.numbers LIMIT 5000000; column_name 'value_int' 'value_string' 'value_decimal' 'value_string_nullable' elements_count 5000000 7500000 WITH rand64() % toUInt64({elements_count}) as key SELECT dictGet('default.simple_key_flat_dictionary', {column_name}, key) FROM system.numbers LIMIT {elements_count} FORMAT Null; WITH rand64() % toUInt64({elements_count}) as key SELECT dictHas('default.simple_key_flat_dictionary', key) FROM system.numbers LIMIT {elements_count} FORMAT Null; SELECT * FROM simple_key_flat_dictionary FORMAT Null; DROP DICTIONARY IF EXISTS simple_key_flat_dictionary DROP TABLE IF EXISTS simple_key_flat_dictionary_source_table