我有一个用户列表。用户可以使用用户名或电子邮件地址登录。
作为azure表存储的初学者,这就是我为快速索引扫描的数据模型所做的。
PartitionKey RowKey Property
users:email [email protected] nickname:jack123
users:username jack123 email:[email protected]
因此,当用户通过电子邮件登录时,我会在azure表查询中提供PartitionKey eq users:email
。如果是username
,Partition eq users:username
。
由于在azure表查询中似乎无法模拟contains
或like
,我想知道这是否是为1个用户存储多行数据的常规做法?
由于似乎无法在azure表查询中模拟包含或类似,我想知道这是否是为1个用户存储多行数据的常规做法?因为它似乎无法模拟包含或喜欢azure table查询,我想知道这是否是为1个用户存储多行数据的常规做法?
这是一种非常有效的做法,实际上是一种推荐的做法。基本上,您必须确定可以查询表存储的属性,并以某种方式将它们用作PartitionKey
和RowKey
的组合。
有关更多信息,请参阅Guidelines for table design
。从这个链接:
考虑存储实体的重复副本。表存储很便宜,因此考虑多次存储相同的实体(使用不同的密钥)以实现更高效的查询。