-
clickhouse 優化 :
批量插入次數 設置 10000 - 15000 小批量頻繁插入,每次插入都會產生一個part。所以clickhouse的寫入,是提倡大批次插入的。(五個字段一萬條數據大概在1~2M左右)
-- partition by date_time 設置partition
PARTITION BY toYYYYMMDD(event_date) 按天分區
SETTINGS index_granularity = 8192 設置稀鬆索引 默認 8192 不同於mysql 的行索引。 8192 行纔對應一個索引
RENAME TABLE member_view_records TO member_view_records_bak ; CREATE TABLE member_view_records ( `saas_id` String COMMENT '用戶id', `parent_id` UInt32 COMMENT '劇id', `title` String COMMENT '劇集標題', `sub_id` UInt32 COMMENT '劇集id', `num` UInt32 COMMENT '當前劇集集數', `create_time` DateTime COMMENT '記錄創建時間' ) ENGINE = MergeTree ORDER BY (saas_id, create_time) PARTITION BY toYYYYMMDD(create_time) SETTINGS index_granularity = 10000 COMMENT '用戶觀看記錄'; ALTER TABLE member_view_records MODIFY TTL create_time + INTERVAL 14 DAY; -- 回滾 RENAME TABLE member_view_records TO member_view_records_bak ; ALTER TABLE member_view_records Add INDEX idx_saas_id saas_id TYPE minmax GRANULARITY 1;
參考自:https://zhuanlan.zhihu.com/p/667086347