何时选择通过GSI进行全表扫描还是以其他方式进行度量?
我知道两者的基本概念,但是GSI的定价模型非常依赖于表格本身,我很难决定
更重要的是,如何在不同的表大小下进行缩放,或者多少扫描效率太低而需要GSI代替
by by,我很难找到好的资源来过滤查询的表达式并在dynamodb上进行扫描,有什么好的建议吗? (“ #v> =:num”这就是我的意思,可能不是用正确的词搜索)
答案 0 :(得分:0)
通常,决定使用查询还是扫描取决于您需要多少数据。如果答案是您需要大多数数据(实际上只有相对较小的表才是这种情况),请使用扫描。否则,几乎每次都要使用查询。
不可能对“大多数数据”的含义给出严格的阈值。我肯定会说超过50%,并且随着表格大小的增加,该阈值往往会达到100%。
上述例外情况是一次性操作,可以在后台执行,并且您愿意在这些时间上花费时间进行成本交换。推论是,如果您要获取面向客户的请求的数据,则您的目标应该是从数据库中读取尽可能少的内容,以缩短请求时间。
所有这些,并行扫描可以非常快速地提取大量数据,如果您确实需要它并且可以消耗额外的容量。即使在大桌子上,只要您有余力,也可以在短短几秒钟内取出数十万个物品。