Hummer TimeSeries DB 中关于RowId 的使用
发布时间:2020-12-13 13:42:23 所属栏目:百科 来源:网络整理
导读:RowId是什么 ? Hummer中的rowid 和oracle 中的rowid 目的近似、实现不同。Rowid的目的都是唯一标示一条记录,而且也都属于伪列。但Oracle中rowid是有数据的物理位置计算获得,而Hummer中的rowid则是由key、时间戳、binlogid(数据落地时将自动加到记录中)
RowId是什么 ?
Hummer中的rowid 和oracle 中的rowid 目的近似、实现不同。Rowid的目的都是唯一标示一条记录,而且也都属于伪列。但Oracle中rowid是有数据的物理位置计算获得,而Hummer中的rowid则是由key、时间戳、binlogid(数据落地时将自动加到记录中)组成(也正因此Oracle rowid是定长的,Hummer 中rowid是不定长的)。不过Hummer和 Oracle 中的rowid用法和用途基本相似。
RowId在什么时候使用 ?
对于重复记录(key 和timestamp 都相同)的操作往往需要使用rowid—— 因为虽然记录重复但rowid不会重复,因此如果对重复记录中的给定记录做检索、删除、或更新,就要使用rowid。
如
select rowid,car_card_num,pass_time,speed from tpass2 limit 4
更新操作 updatetpass2 set speed = 100 whererowid='0001EogOREnYiel1A3B;B5A0000001u4UU=='selectrowid,speed fromtpass2 where rowid='0001EogOREnYiel1A3B;B5A0000001u4UU==' 检查记录speed已被修改
删除操作
delete fromtpass2 where rowid='0001EogOREnYiel1A3B;B5A0000001u4UU=='
select * fromtpass2 where rowid='0001EogOREnYiel1A3B;B5A0000001u4UU==' 则记录对应记录被删除
另外hummer 的rowid是时间有序的,即可以使用rowid><等条件,过滤给定rowid对应时间之间或之后的记录集合,如
select car_card_num,speed from tpass2 where rowid<='0001EogOREnYiel1A3B;B5A0000000000U=='
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |