clickhouse 進行建表期間的一些優化

  • 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章