当前位置: 首页 > 知识库问答 >
问题:

DynamoDB,用于使用GSI列出表中的所有项

闾丘成双
2023-03-14

我在Dynamodb有一张这样的桌子

我想列出表中的所有数据,但不想对表执行扫描。所以我在表allIndex上添加了一个索引。它的值将始终相同(示例中的all

现在我可以使用allIndex查询表中的所有数据。它的好处是所有数据都将驻留在Dynamodb的GSI中的同一个分区中。我想知道这样做是否是个好主意?还是会导致GSI上的热分区?

共有1个答案

从经略
2023-03-14

扫描对于您的用例来说是一个合适的选项。

在过滤应用程序中的数据子集时,查询扫描更受欢迎。扫描操作可能很昂贵,因为它必须读取数据库中的每一项。如果您只是获取一些项,这是一个坏主意。但是,如果您的访问模式要求您读取整个数据库,扫描是最好的选择。

 类似资料:
  • 我正在使用AWS控制台和NodeJS。 我有一个带有分区键(user\u id)和排序键(company\u id)以及其他属性的dynamodb用户表。 我的一个属性是用户的电子邮件。电子邮件是唯一属性。 我需要通过电子邮件user_id,但我没有他的user_id和company_id。 我认为我应该使用全球二级指数。 我点击了用户表,打开索引选项卡并为该表创建了GSI。(名称:电子邮件,类型

  • 在我的Dynamodb表中,该表包含分区键“id”和“created_at”作为排序键的“batchs”和一个带有“batch_status”的GSI 假设我想查询状态为“正在进行”、“新建”、“已完成”的批。

  • 在我的DynamoDB表中,有HashKey=ID和GSI=Type。我需要获取特定类型(GSI)的所有hashKeys(ID)。 在这种情况下,获取给定类型的所有ID的有效方法是什么?我的DynamoDB表不会很大。

  • 假设我在DynamoDB中有一个表,如果我的GSI的键基于一个属性,但是我删除或更改了该属性,那么GSI表的行为是什么?它会删除并更改GSI表中的键吗? TableName:哺乳动物表格分区键:哺乳动物名称属性1:哺乳动物数量腿属性1:哺乳动物大小 GSI名称哺乳类动物数legssi分区键:哺乳类动物数legs排序键:哺乳类大小 现在假设我有类似于哺乳动物表的数据: 哺乳动物名称:人,哺乳动物腿数

  • 我有一个带有哈希键(id)的表(配置文件),我有一个关于名称的GSI,一个关于国家的范围键。我想创建一个DAO方法,它将获取所有具有给定值的name和country的记录,如下所示:List getProfileWithNameAndCountry(name,country);

  • 问题内容: 我环顾四周,仍然找不到如何列出数据库中的所有表。MySQLi有可能吗? 谢谢。 问题答案: 有很多方法。 是执行此操作的最简单的SQL语句。您还可以查看是否需要更多详细信息或进行过滤等操作。