<< Click to Display Table of Contents >> 主键的作用复制链接 |
入集市时,可以设置主键选项,该选项类似于关系型数据库的主键,不允许空值,但是允许重复值。入集市的数据会按照设置的主键进行排序,这样在进行基于此列进行的点查或排序时能加速计算。但设置主键后入集市的速度会有一定下降。VooltDB不要求主键唯一,可以插入多条具有相同主键的行,主键也可以包含一列或多列。推荐对过滤列设置主键,设置的主键列数量控制在10个以内。
➢测试数据:
假设基于1000W行的集市数据集制作报表,只展示其中日期为2022-01-30的数据。
对以上1000W的数据集不勾选“主键”和勾选“date_13_100”列作为“主键”列入集市,入集市的速度如下表所示:
|
入集市时间(s) |
设置主键 |
507 |
不设置主键 |
468 |
通过上表可以看出,设置主键入集市后,入集市的速度下降了7.69%左右。
分别对不勾选“主键”和勾选“date_13_100”列作为“主键”列入集市的数据集制作报表,并对“date_13_100”做过滤,对打开报表的速度进行测试,报表在设置主键和不设置主键的情况下的性能如下表所示:
|
报表打开时间(ms) |
设置主键 |
2189 |
不设置主键 |
2585 |
通过上表可以看出,设置主键入集市后,集市报表打开的速度会快15.32%左右。因此,通常对于需要过滤后按点查的场景,我们可以考虑设置主键来提高查询效率。
注:上表测试结果仅供参考,在实际测试环境中测试结果会受CPU、网络等因素影响。