关于LARGEINT长度不够用的问题

我有个这样的需求,有个表想根据ipv6字段进行分区,把ipv6转成整数类型之后,表字段用LARGEINT。但是LARGEINT只能接收38位长度的值,ipv6转出来有39位,就差一位,请问这种情况有无好的办法?

大佬们看一下吧,球球了

现在好像的确是不行

有人有好办法可以分享一个吗? :ok_woman:

可以借鉴clickhouse的类型,int128,int256.StarRocks 再拓展下整形的长度

1赞

可以先存string啊,存IP也不需要计算

想根据ip分区,存string就不行了

那我理解可以冗余一下,分区键用IP的前16位进行分区,然后再单独存一个IP

直接存两列
create table xxx (
partition_key int
IP string
)

可以冗余,是不是可以根据数据量对ip转的int取模,然后根据这个数去分区?