- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个像这样的表:
创建表测试(id String,timestamp DateTime,somestring String)ENGINE = MergeTree ORDER BY(id,timestamp)
我插入了 100 条记录,然后插入了另外 100 条记录,然后运行选择查询select * from test
clickhouse 返回 2 个部分,它们的长度为 100,并且它们是自己排序的。然后我运行查询 optimize table test
,它开始返回 1 个部分,其长度为 200 并已排序。那么我应该在所有插入之后运行优化查询吗,它是否会提高选择查询性能,例如 select count(*) from test where id = 'foo'
?
最佳答案
合并是最终的,可能永远不会发生。这取决于之后发生的插入次数、分区中的部件数、部件的大小。如果输入部分的总大小大于最大部分大小,那么它们将永远不会被合并。
不断合并到一个部分是很不合理的。合并没有这样的目标。相反,目标是拥有最少数量的零件和最少数量的合并。合并会消耗大量的磁盘和处理器资源。
3 小时内将两个 300GB 的部分合并为一个 600GB 的部分毫无意义。合并必须读取、解压缩 600GB、合并、压缩、写回它们,之后 selects 的性能将根本不会增长或增长很小。
关于Clickhouse:我应该手动优化 MergeTree 表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70882701/
我正在尝试了解 ReplacingMergeTree 引擎的工作原理。 我在下表中配置了这样的引擎。 ┌─品牌─┬─国家─┬─id─────┬────更新─┬─版本─┐ │ 即时通讯 │ 法国 │ 1
1.概述 转载:ClickHouse表引擎 MergeTree 数据生命周期 TTL(Time To Live)表示数据的存活时间,在 Merge 中可以为某个字段或者整个表设置TTL。 如果设置列级
我有一个像这样的表: 创建表测试(id String,timestamp DateTime,somestring String)ENGINE = MergeTree ORDER BY(id,times
1.概述 转载:ClickHouse表引擎 MergeTree 索引与数据存储方式 2.一级索引 MergeTree 主键使用 primary key 定义,定义主键后,会将数据依据 index_gr
我正在尝试更新简单表中的主键。 当我像这样执行查询时: alter table test update id = 2 where id = 1; 我看到消息: Cannot UPDATE key co
我正在尝试更新简单表中的主键。 当我像这样执行查询时: alter table test update id = 2 where id = 1; 我看到消息: Cannot UPDATE key co
我是一名优秀的程序员,十分优秀!