dynamodb如何处理hashKey为undefined的记录

时间:2015-12-28 23:29:27

标签: amazon-dynamodb

我想为dynamodb表创建一个全局索引。表中的大多数记录都有“未定义”字样。全局索引的hashKey的值。 dynamodb如何使用' undefined'来对这些记录进行分区。散列键?我只使用非未定义的hashKey值查询全局索引。我想知道这些' undefined' hashKey记录可能会损害查询性能。

1 个答案:

答案 0 :(得分:1)

如果未定义,则表示他们的实际字符串值为" undefined"它们将在索引中,这可能会通过潜在地创建热分片来损害性能。

但是,如果未定义,则表示这些属性没有与之关联的任何值,那么这将最终创建所谓的稀疏索引。具有稀疏索引意味着这些项目根本不在GSI中,这对性能有好处,因为写入缺少这些属性的对象不需要写入GSI。

稀疏索引是DynamoDB的一个强大功能,因为它提供了另一种访问项目的方法。例如,具有稀疏索引意味着它可以具有显着更少的记录,使得GSI的扫描在某些用例中是实用的。