Clickhouse ISERT操作
创建表:
CREATE TABLE city
(
`id` UInt8,
`country` String,
`province` String,
`city` String,
`create_time` datetime DEFAULT now()
)
E
创建表:
CREATE TABLE city
(
`id` UInt8,
`country` String,
`province` String,
`city` String,
`create_time` datetime DEFAULT now()
)
EGIE = MergeTree()
PARTITIO BY toYYYYMM(create_time)
ORDER BY id
Ok.
0 rows in set. Elapsed: 0.012 sec.
插入数据:
1.单行插入:
Clickhouse> insert into city(id,country,province,city) VALUES(1, China , Hubei , wuhan );
ISERT ITO city (id, country, province, city) VALUES
Ok.
1 rows in set. Elapsed: 0.017 sec.
2.多行插入:
Clickhouse> insert into city(id,country,province,city) VALUES(2, China , Hubei , xiangyang ),(2, China , Guangdong , shenzhen );
ISERT ITO city (id, country, province, city) VALUES
Ok.
2 rows in set. Elapsed: 0.002 sec.
插入特定格式:
比如CSV 或者 TSV JSO 等
insert into city select 20, China , Beijing , Beijing , 2020-06-24 14:15:00 ;
虽然VALUES和SELECT字句支持声明表达式或者函数,但是会带来额外的性能开销,导致写入性能的下降。
若为了极致的性能需要尽可能避免使用他们。
ISERT语句在写入的过程具有原子性,在默认的情况下,每个数据块最多可以写入1048576行数据,有参数
max_insert_block_size参数控制,若ISERT操作写max_insert_block_size行的话要么成功要么失败。
需要注意的是只有在Clickhouse服务器端处理数据的时候才有写入特性。
在适用JDBC或者HTTP接口的时候。
因为max_insert_block_size在适用CLI或者insert select子句的时候不生效。
性能考虑:
ISERT通过主键对输入数据进行排序,并通过分区键将它们划分为多个分区。 如果您一次将数据插入多个分区,
则可能会大大降低ISERT查询的性能。 为了避免这种情况:
批量添加数据,例如一次添加100,000行。
在将数据上传到ClickHouse之前,通过分区键对数据进行分组。
在以下情况下,性能不会降低:
数据是实时添加的。
您上传的数据通常按时间排序
参考:
https://www.altinity/blog/2018/10/16/updates-in-clickhouse
https:///docs/en/sql-reference/statements/insert-into/
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2023-06-29 02:03:41
推荐阅读
留言与评论(共有 15 条评论) |
本站网友 吃豆子 | 28分钟前 发表 |
country | |
本站网友 佛山楼盘 | 16分钟前 发表 |
city) VALUES(2 | |
本站网友 北京脱毛医院 | 10分钟前 发表 |
创建表: CREATE TABLE city ( `id` UInt8 | |
本站网友 600221海南航空 | 2分钟前 发表 |
0.012 sec. 插入数据: 1.单行插入: Clickhouse> insert into city(id | |
本站网友 助产学 | 19分钟前 发表 |
000行 | |
本站网友 国家免疫规划中心 | 9分钟前 发表 |
15 | |
本站网友 2020年闰几月 | 10分钟前 发表 |
Hubei | |
本站网友 女性用药 | 19分钟前 发表 |
为了避免这种情况: 批量添加数据,例如一次添加100 | |
本站网友 浚县吧 | 16分钟前 发表 |
xiangyang ) | |
本站网友 手续费 | 26分钟前 发表 |
性能考虑: ISERT通过主键对输入数据进行排序,并通过分区键将它们划分为多个分区 | |
本站网友 天润福熙 | 4分钟前 发表 |
若为了极致的性能需要尽可能避免使用他们 | |
本站网友 天通苑中医医院 | 9分钟前 发表 |
在将数据上传到ClickHouse之前,通过分区键对数据进行分组 | |
本站网友 福田二手房出售 | 8分钟前 发表 |
`city` String | |
本站网友 太仓租房网 | 29分钟前 发表 |
city) VALUES Ok. 2 rows in set. Elapsed |