

# 在 DynamoDB 中重载全局二级索引
<a name="bp-gsi-overloading"></a>

虽然 Amazon DynamoDB 的默认配额是每个表 20 个全局二级索引，但实际可以索引的数据字段远超过 20 个。关系数据库管理系统 (RDBMS) 的表架构统一，DynamoDB 的表则不同，一次可以保存多种不同类型的数据项目。此外，不同项目的同一属性可以包含完全不同的信息。

考虑下面保存各种不同数据的 DynamoDB 表布局的示例。

![\[GSI 重载的表架构。\]](http://docs.amazonaws.cn/amazondynamodb/latest/developerguide/images/OverloadGSIexample.png)


所有项目公共的 `Data` 属性根据父项目不同，具有不同内容。如果为表创建一个全局二级索引，使用表的排序键作为分区键，`Data` 属性作为排序键，则可以使用该全局二级索引执行各种不同查询。查询包括：
+ 在全局二级索引中按姓名查找员工，使用 `Employee_Name` 作为分区键值，员工姓名（例如 `Murphy, John`）作为排序键值。
+ 使用全局二级索引搜索仓库 ID（如 `Warehouse_01`），查找具体仓库中工作的所有员工。
+ 查询全局二级索引，将 `HR_confidential` 作为分区键值，在排序键值中使用日期范围，获取最近招聘员工列表，