PingCAP 路径一 Project 1 的问题

2021-03-04 01:16:32 +08:00
 Co1a

最近从武汉迁徙到了深圳,机会没有我想象的那么多,也仔细思考过这条路该怎么走,却怎么都走不好,找了一份相关的工作,工资不高,但好在有时间去自己学习.

过年那段时间看着 tidb-dashboard 有个挺简单的 Feature,就自己做着玩玩,慢慢了解到 talent project,最近面试完了在深圳这边等着入职(应届像我这样的渣渣想入行还是非常困难的),下午有时间就顺着把路径 1 Project1 给做了,有些细枝末节还是不懂

appendTableRecordPrefix中 有一个codec.EncodeInt的操作,对 tableID 进行编码,就是对 TableID 进行位运算(异或以及右移),为什么要这么做,这么做的好处在哪里?

844 次点击
所在节点    问与答
4 条回复
IwfWcf
2021-03-04 01:33:59 +08:00
效果是把补码的符号位取反,这样正数就会比负数大
Co1a
2021-03-04 18:40:39 +08:00
@IwfWcf 谢谢老哥半夜解答疑惑,那么这么做的目的是什么呢
IwfWcf
2021-03-04 22:23:44 +08:00
@Co1a 函数名就解释了啊,EncodeIntToCmpUint 就是要把 int 转换为可比较的 uint 然后用大端序进行编码啊
IwfWcf
2021-03-04 22:29:11 +08:00
@Co1a 在 tableid 编码这里可能是没有意义的,因为 tableid 不会是负数,但如果是在一个 int 上建索引,索引 key 中的编码就需要保有顺序了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/758230

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX