首页 > 解决方案 > Azure 表存储数据建模注意事项

问题描述

我有一个用户列表。用户可以使用用户名或电子邮件地址登录。

作为 azure 表存储的初学者,这就是我为快速索引扫描的数据模型所做的。

PartitionKey    RowKey                        Property
users:email     jacky@email.com               nickname:jack123
users:username  jack123                       email:jacky@email.com

因此,当用户通过电子邮件登录时,我会PartitionKey eq users:email在 azure 表查询中提供。如果是usernamePartition eq users:username

由于似乎无法模拟containslike在天蓝色表查询中,我想知道这是否是为 1 个用户存储多行数据的正常做法?

标签: azureazure-table-storage

解决方案


由于似乎不可能在天蓝色表查询中模拟包含或类似,我想知道这是否是为 1 个用户存储多行数据的正常做法?因为似乎不可能模拟包含或类似天蓝色表查询,我想知道这是否是为 1 个用户存储多行数据的正常做法?

这是一个完全有效的做法,实际上是推荐的做法。本质上,您必须确定可能查询表存储的属性,并以某种方式将它们用作 和 的PartitionKey组合RowKey

请参阅Guidelines for table design以获取更多信息。从这个链接:

考虑存储实体的重复副本。表存储很便宜,因此请考虑多次存储相同的实体(使用不同的键)以实现更高效的查询。


推荐阅读