我编写了一个 FB 应用程序,并希望添加更多功能并使其更具社交性。我正在尝试做的一件事是根据用户朋友查询表存储,并发现用户朋友是否在我的应用程序中“观看”了视频。我可以很好地从 FB 获取朋友 ID,但我不确定如何构造我的表存储查询,因为 FB 用户可以拥有的最大朋友数是 5000,所以我最终可能会得到这样的查询:
var ts1 = azure.createTableService(config.storageAccount, config.storageAccessKey, config.tableHost);
var query = azure.TableQuery
.select()
.from('hits')
.where('PartitionKey eq ?', '0')
for (f in friends){
query.or('UserID eq ?', friends[f].UserID);
}
ts1.queryEntities(query, function (err, result){
etc ...
}
导致一个大胖查询!
我的问题是,在对 Windows Azure 表存储进行这种性质的查询时,这是否是最有效和最具成本效益的(最少的表存储事务),还是更好的方法?