1 CREATE TABLE keys (key UInt64) ENGINE = MergeTree ORDER BY key; CREATE TABLE dict (key UInt64, value1 UInt64, value2 Float64, value3 String, value4 String, value5 String, value6 String, value7 String, value8 String, value9 String, value10 String) ENGINE = Join(ANY, LEFT, key); INSERT INTO keys SELECT rand() FROM numbers(10000000); INSERT INTO dict SELECT rand(), rand()%1000, rand()*0.0001, toString(number), toString(number), toString(number), toString(number), toString(number), toString(number), toString(number), toString(number) FROM numbers(1000000); SELECT keys.key, value1 FROM keys ANY LEFT JOIN dict AS d ON (keys.key = d.key) FORMAT Null; SELECT keys.key, value1 FROM keys ANY LEFT JOIN dict AS d ON (keys.key = d.key) FORMAT Null SETTINGS allow_experimental_analyzer=1