mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-25 09:02:00 +00:00
44 lines
1.2 KiB
SQL
44 lines
1.2 KiB
SQL
DROP TABLE IF EXISTS t_modify_from_lc_1;
|
|
DROP TABLE IF EXISTS t_modify_from_lc_2;
|
|
|
|
SET allow_suspicious_low_cardinality_types = 1;
|
|
|
|
CREATE TABLE t_modify_from_lc_1
|
|
(
|
|
id UInt64,
|
|
a LowCardinality(UInt32) CODEC(NONE)
|
|
)
|
|
ENGINE = MergeTree ORDER BY tuple()
|
|
SETTINGS min_bytes_for_wide_part = 0;
|
|
|
|
CREATE TABLE t_modify_from_lc_2
|
|
(
|
|
id UInt64,
|
|
a LowCardinality(UInt32) CODEC(NONE)
|
|
)
|
|
ENGINE = MergeTree ORDER BY tuple()
|
|
SETTINGS min_bytes_for_wide_part = 0;
|
|
|
|
INSERT INTO t_modify_from_lc_1 SELECT number, number FROM numbers(100000);
|
|
INSERT INTO t_modify_from_lc_2 SELECT number, number FROM numbers(100000);
|
|
|
|
OPTIMIZE TABLE t_modify_from_lc_1 FINAL;
|
|
OPTIMIZE TABLE t_modify_from_lc_2 FINAL;
|
|
|
|
ALTER TABLE t_modify_from_lc_1 MODIFY COLUMN a UInt32;
|
|
|
|
-- Check that dictionary of LowCardinality is actually
|
|
-- dropped and total size on disk is reduced.
|
|
WITH groupArray((table, bytes))::Map(String, UInt64) AS stats
|
|
SELECT
|
|
length(stats), stats['t_modify_from_lc_1'] < stats['t_modify_from_lc_2']
|
|
FROM
|
|
(
|
|
SELECT table, sum(bytes_on_disk) AS bytes FROM system.parts
|
|
WHERE database = currentDatabase() AND table LIKE 't_modify_from_lc%' AND active
|
|
GROUP BY table
|
|
);
|
|
|
|
DROP TABLE IF EXISTS t_modify_from_lc_1;
|
|
DROP TABLE IF EXISTS t_modify_from_lc_2;
|