BigDataIsDead
V2EX  ›  问与答

PingCAP 路径一 Project 1 的问题

  •  
  •   BigDataIsDead · Mar 4, 2021 · 1256 views
    This topic created in 1902 days ago, the information mentioned may be changed or developed.

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

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

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

    4 replies    2021-03-04 22:29:11 +08:00
    IwfWcf
        1
    IwfWcf  
       Mar 4, 2021   ❤️ 1
    效果是把补码的符号位取反,这样正数就会比负数大
    BigDataIsDead
        2
    BigDataIsDead  
    OP
       Mar 4, 2021 via iPhone
    @IwfWcf 谢谢老哥半夜解答疑惑,那么这么做的目的是什么呢
    IwfWcf
        3
    IwfWcf  
       Mar 4, 2021
    @Co1a 函数名就解释了啊,EncodeIntToCmpUint 就是要把 int 转换为可比较的 uint 然后用大端序进行编码啊
    IwfWcf
        4
    IwfWcf  
       Mar 4, 2021   ❤️ 1
    @Co1a 在 tableid 编码这里可能是没有意义的,因为 tableid 不会是负数,但如果是在一个 int 上建索引,索引 key 中的编码就需要保有顺序了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3000 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:27 · PVG 21:27 · LAX 06:27 · JFK 09:27
    ♥ Do have faith in what you're doing.