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

posted @ 2024-02-26 16:15  雨V幕  阅读(23)  评论(0编辑  收藏  举报