主键的作用

<< Click to Display Table of Contents >>

当前位置:  VooltDB数据集市 > 集市常见问题 

主键的作用

复制链接

入集市时,可以设置主键选项,该选项类似于关系型数据库的主键,不允许空值,但是允许重复值。入集市的数据会按照设置的主键进行排序,这样在进行基于此列进行的点查或排序时能加速计算。但设置主键后入集市的速度会有一定下降。VooltDB不要求主键唯一,可以插入多条具有相同主键的行,主键也可以包含一列或多列。推荐对过滤列设置主键,设置的主键列数量控制在10个以内。

MainKey

测试数据:

假设基于1000W行的集市数据集制作报表,只展示其中日期为2022-01-30的数据。

PriKey1

对以上1000W的数据集不勾选“主键”和勾选“date_13_100”列作为“主键”列入集市,入集市的速度如下表所示:

 

入集市时间(s)

设置主键

507

不设置主键

468

通过上表可以看出,设置主键入集市后,入集市的速度下降了7.69%左右。

分别对不勾选“主键”和勾选“date_13_100”列作为“主键”列入集市的数据集制作报表,并对“date_13_100”做过滤,对打开报表的速度进行测试,报表在设置主键和不设置主键的情况下的性能如下表所示:

 

报表打开时间(ms)

设置主键

2189

不设置主键

2585

通过上表可以看出,设置主键入集市后,集市报表打开的速度会快15.32%左右。因此,通常对于需要过滤后按点查的场景,我们可以考虑设置主键来提高查询效率。

注:上表测试结果仅供参考,在实际测试环境中测试结果会受CPU、网络等因素影响。