【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】7.50
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
tidb的kvdb 中有四个 ColumnFamily:raft、lock、default、write,其中数据存在下面2个cf中:
-
write 列:用于存储用户真实的写入数据以及 MVCC 信息(该数据所属事务的开始时间以及提交时间)。当用户写入了一行数据时,如果该行数据长度小于 255 字节,那么会被存储 write 列中,否则的话该行数据会被存入到 default 列中。由于 TiDB 的非 unique 索引存储的 value 为空,unique 索引存储的 value 为主键索引,因此二级索引只会占用 writecf 的空间。
-
default 列:用于存储超过 255 字节长度的数据。
有一些疑问:
255 字节对于变长类型,如 varchar,是按实际数据长度确定存在哪个cf吗? 如果是,出现同一个表的数据在2个cf中吧