假设我有一个表实体:
Partitionkey Rowkey 表 userid datecreated
让我们进行一个效果很好的查询,用它我可以检索所有具有特定 ID 的条目(用作 PartitionKey)
Dim azt_query As CloudTableQuery(Of adlog)
azt_query = azt_context.CreateQuery(Of adlog)("adlog").Where(Function(e) (e.PartitionKey = "myid" And e.table = "mytable" And e.userid = "myuserid" And e.datecreated >= dateStart And e.datecreated <= dateEnd)).AsTableServiceQuery()
现在我想在不知道 PartitionKey 但基于 USERID 的情况下查询表
会是这样:
Dim azt_query As CloudTableQuery(Of adlog)
azt_query = azt_context.CreateQuery(Of adlog)("adlog").Where(Function(e) (e.table = "mytable" And e.userid = "myuserid" And e.datecreated >= dateStart And e.datecreated <= dateEnd)).AsTableServiceQuery()
但是现在删除 e.PartitionKey = "myid" 需要永远。我认为查询想要检索表的所有行并使用参数在其中搜索。
但是有数百万行。使用 partitionkey 进行查询实际上非常快。
有没有办法查询这个?我可以检索特定 USERID 的所有行还是我坚持分区键级别?