mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-24 16:42:05 +00:00
94 lines
2.9 KiB
SQL
94 lines
2.9 KiB
SQL
-- Tags: no-parallel
|
|
|
|
DROP DATABASE IF EXISTS 01785_db;
|
|
CREATE DATABASE 01785_db;
|
|
|
|
DROP TABLE IF EXISTS 01785_db.simple_key_source_table;
|
|
CREATE TABLE 01785_db.simple_key_source_table
|
|
(
|
|
id UInt64,
|
|
value String
|
|
) ENGINE = TinyLog();
|
|
|
|
INSERT INTO 01785_db.simple_key_source_table VALUES (1, 'First');
|
|
INSERT INTO 01785_db.simple_key_source_table VALUES (1, 'First');
|
|
|
|
DROP DICTIONARY IF EXISTS 01785_db.simple_key_flat_dictionary;
|
|
CREATE DICTIONARY 01785_db.simple_key_flat_dictionary
|
|
(
|
|
id UInt64,
|
|
value String
|
|
)
|
|
PRIMARY KEY id
|
|
SOURCE(CLICKHOUSE(HOST 'localhost' PORT tcpPort() DB '01785_db' TABLE 'simple_key_source_table'))
|
|
LAYOUT(FLAT())
|
|
LIFETIME(MIN 0 MAX 1000);
|
|
|
|
SELECT * FROM 01785_db.simple_key_flat_dictionary;
|
|
SELECT name, database, element_count FROM system.dictionaries WHERE database = '01785_db' AND name = 'simple_key_flat_dictionary';
|
|
|
|
DROP DICTIONARY 01785_db.simple_key_flat_dictionary;
|
|
|
|
CREATE DICTIONARY 01785_db.simple_key_hashed_dictionary
|
|
(
|
|
id UInt64,
|
|
value String
|
|
)
|
|
PRIMARY KEY id
|
|
SOURCE(CLICKHOUSE(HOST 'localhost' PORT tcpPort() DB '01785_db' TABLE 'simple_key_source_table'))
|
|
LAYOUT(HASHED())
|
|
LIFETIME(MIN 0 MAX 1000);
|
|
|
|
SELECT * FROM 01785_db.simple_key_hashed_dictionary;
|
|
SELECT name, database, element_count FROM system.dictionaries WHERE database = '01785_db' AND name = 'simple_key_hashed_dictionary';
|
|
|
|
DROP DICTIONARY 01785_db.simple_key_hashed_dictionary;
|
|
|
|
CREATE DICTIONARY 01785_db.simple_key_cache_dictionary
|
|
(
|
|
id UInt64,
|
|
value String
|
|
)
|
|
PRIMARY KEY id
|
|
SOURCE(CLICKHOUSE(HOST 'localhost' PORT tcpPort() DB '01785_db' TABLE 'simple_key_source_table'))
|
|
LAYOUT(CACHE(SIZE_IN_CELLS 100000))
|
|
LIFETIME(MIN 0 MAX 1000);
|
|
|
|
SELECT toUInt64(1) as key, dictGet('01785_db.simple_key_cache_dictionary', 'value', key);
|
|
SELECT name, database, element_count FROM system.dictionaries WHERE database = '01785_db' AND name = 'simple_key_cache_dictionary';
|
|
|
|
DROP DICTIONARY 01785_db.simple_key_cache_dictionary;
|
|
|
|
DROP TABLE 01785_db.simple_key_source_table;
|
|
|
|
DROP TABLE IF EXISTS 01785_db.complex_key_source_table;
|
|
CREATE TABLE 01785_db.complex_key_source_table
|
|
(
|
|
id UInt64,
|
|
id_key String,
|
|
value String
|
|
) ENGINE = TinyLog();
|
|
|
|
INSERT INTO 01785_db.complex_key_source_table VALUES (1, 'FirstKey', 'First');
|
|
INSERT INTO 01785_db.complex_key_source_table VALUES (1, 'FirstKey', 'First');
|
|
|
|
CREATE DICTIONARY 01785_db.complex_key_hashed_dictionary
|
|
(
|
|
id UInt64,
|
|
id_key String,
|
|
value String
|
|
)
|
|
PRIMARY KEY id, id_key
|
|
SOURCE(CLICKHOUSE(HOST 'localhost' PORT tcpPort() DB '01785_db' TABLE 'complex_key_source_table'))
|
|
LAYOUT(COMPLEX_KEY_HASHED())
|
|
LIFETIME(MIN 0 MAX 1000);
|
|
|
|
SELECT * FROM 01785_db.complex_key_hashed_dictionary;
|
|
SELECT name, database, element_count FROM system.dictionaries WHERE database = '01785_db' AND name = 'complex_key_hashed_dictionary';
|
|
|
|
DROP DICTIONARY 01785_db.complex_key_hashed_dictionary;
|
|
|
|
DROP TABLE 01785_db.complex_key_source_table;
|
|
|
|
DROP DATABASE 01785_db;
|