我想知道以下情况之间是否存在任何性能差异:
案例一
{
id: 1,
backgroundColor: 'red',
font: 'Arial'
}
案例二
{
id: 1,
style: {
backgroundColor: 'red',
font: 'Arial'
}
}
我更喜欢第二种情况的结构:item.style.font
。与第一种情况相比,它有什么缺点吗?
此外:
使用快捷方式(bgColor
而不是 backgroundColor
)是否有所不同,还是 DynamoDB 生成哈希?
提前致谢!
最佳答案
它们之间有很大的区别:
本地和全局二级索引
您只能使用顶级属性创建索引。所以如果你想在 font
上放置一个索引,你应该使用解决方案一。
项目大小
Dynamodb 不会散列属性名称。因此,您的属性名称会直接影响项目的大小。但是,保留有意义的名称很重要。所以不要过多地减少属性名称...
关于扫描和查询过滤器,您可以在子属性上创建条件。
看看这个页面:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html .它包含有用的信息。
关于database - NoSQL/DynamoDB : attribute or object?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42507189/