mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-14 03:25:15 +00:00
38 lines
1.5 KiB
MySQL
38 lines
1.5 KiB
MySQL
|
DROP TABLE IF EXISTS t_sparse_pk;
|
||
|
DROP TABLE IF EXISTS t_full_pk;
|
||
|
|
||
|
CREATE TABLE t_sparse_pk (k UInt64, s String)
|
||
|
ENGINE = MergeTree ORDER BY k
|
||
|
SETTINGS min_bytes_for_wide_part = 0, ratio_for_sparse_serialization = 0.0, index_granularity = 1;
|
||
|
|
||
|
INSERT INTO t_sparse_pk VALUES (0, 'a'), (0, 'b'), (1, ''), (2, ''), (2, 'e'), (3, 'f'), (4, 'g');
|
||
|
|
||
|
SET force_primary_key = 1;
|
||
|
|
||
|
SELECT k, s FROM t_sparse_pk WHERE k = 2 ORDER BY k, s;
|
||
|
SELECT k, s FROM t_sparse_pk WHERE k = 0 OR k = 3 ORDER BY k, s;
|
||
|
|
||
|
DROP TABLE IF EXISTS t_sparse_pk;
|
||
|
|
||
|
CREATE TABLE t_sparse_pk (k UInt64, v UInt64 CODEC(NONE))
|
||
|
ENGINE = MergeTree ORDER BY k
|
||
|
SETTINGS min_bytes_for_wide_part = 0, ratio_for_sparse_serialization = 0.0, index_granularity = 30;
|
||
|
|
||
|
CREATE TABLE t_full_pk (k UInt64, v UInt64)
|
||
|
ENGINE = MergeTree ORDER BY k
|
||
|
SETTINGS min_bytes_for_wide_part = 0, ratio_for_sparse_serialization = 1.1, index_granularity = 30;
|
||
|
|
||
|
INSERT INTO t_sparse_pk SELECT number % 10, number % 4 = 0 FROM numbers(1000);
|
||
|
INSERT INTO t_full_pk SELECT number % 10, number % 4 = 0 FROM numbers(1000);
|
||
|
|
||
|
INSERT INTO t_sparse_pk SELECT number % 10, number % 6 = 0 FROM numbers(1000);
|
||
|
INSERT INTO t_full_pk SELECT number % 10, number % 6 = 0 FROM numbers(1000);
|
||
|
|
||
|
|
||
|
set max_threads = 1;
|
||
|
|
||
|
SELECT count(v), sum(v) FROM t_sparse_pk WHERE k = 0;
|
||
|
SELECT count(v), sum(v) FROM t_full_pk WHERE k = 0;
|
||
|
|
||
|
SELECT count(v), sum(v) FROM t_sparse_pk WHERE k = 0 OR k = 3 OR k = 7 OR k = 8;
|
||
|
SELECT count(v), sum(v) FROM t_full_pk WHERE k = 0 OR k = 3 OR k = 7 OR k = 8;
|