在代码中使用 DynamoDB 过滤器表达式或过滤器哪个更好? [关闭]
Posted
技术标签:
【中文标题】在代码中使用 DynamoDB 过滤器表达式或过滤器哪个更好? [关闭]【英文标题】:Which is better to use DynamoDB filter expression or filter in code? [closed] 【发布时间】:2021-12-21 20:01:02 【问题描述】:在我们的应用程序中,我们必须过滤一些数据。我们正在使用 Dynamo DB。在我们的团队中,我们对在发电机或应用程序级别使用过滤器表达式有不同的看法。我想知道这个行业一直在关注什么。如果您知道一些好的博客,请告诉我?
考虑这种情况,我们必须将交易模板置于活动状态,用户可以将其停用。在 get list 调用中,我们只想发送活动模板。
发电机:
filterCondition := expression.Name(activeColumn).Equal(expression.Value(true))
应用:
List<DealTemplate> templates = getTemplate()
for templaes := range templates
if template.isActive
// process
【问题讨论】:
【参考方案1】:可能会接近关于基于意见答案的问题..
但最好的解决方案是结构化您的数据,这样您就不必过滤掉任何内容。使用本地二级索引(LSI - 无额外费用)或全球二级索引(GSI - 额外费用)
这样您就不必为读取被丢弃的数据付费。
否则使用过滤器表达式。您仍然需要付费才能读取数据,但无需付费即可将其传输回来;如果在 AWS 之外,则以实际 $$ 计算,并且无论如何都是开销。
【讨论】:
以上是关于在代码中使用 DynamoDB 过滤器表达式或过滤器哪个更好? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
在 AWS Amplify GraphQL DynamoDB 中按另一个表的字段(也称为交叉表或嵌套过滤)过滤列表查询