[TD-291] <docs>: describe the real meaning of UPDATE option.

This commit is contained in:
Elias Soong 2021-03-08 17:23:21 +08:00
parent bd5e3ea021
commit 8641094922
1 changed files with 2 additions and 0 deletions

View File

@ -92,6 +92,8 @@ TDengine 目前尚不支持删除功能,未来根据用户需求可能会支
从 2.0.8.0 开始TDengine 支持更新已经写入数据的功能。使用更新功能需要在创建数据库时使用 UPDATE 1 参数,之后可以使用 INSERT INTO 命令更新已经写入的相同时间戳数据。UPDATE 参数不支持 ALTER DATABASE 命令修改。没有使用 UPDATE 1 参数创建的数据库,写入相同时间戳的数据不会修改之前的数据,也不会报错。
另需注意,在 UPDATE 设置为 0 时,后发送的相同时间戳的数据会被直接丢弃,但并不会报错,而且仍然会被计入 affected rows (所以不能利用 INSERT 指令的返回信息进行时间戳查重。这样设计的主要原因是TDengine 把写入的数据看做一个数据流无论时间戳是否出现冲突TDengine 都认为产生数据的原始设备真实地产生了这样的数据。UPDATE 参数只是控制这样的流数据在进行持久化时要怎样处理——UPDATE 为 0 时,表示先写入的数据覆盖后写入的数据;而 UPDATE 为 1 时,表示后写入的数据覆盖先写入的数据。这种覆盖关系如何选择,取决于对数据的后续使用和统计中,希望以先还是后生成的数据为准。
## 10. 我怎么创建超过1024列的表
使用2.0及其以上版本默认支持1024列2.0之前的版本TDengine最大允许创建250列的表。但是如果确实超过限值建议按照数据特性逻辑地将这个宽表分解成几个小表。