DynamoDB Schema设计:无需为每个域名建条目实现可信域名互查
无需为每个域名单独创建条目实现同组可信域名查询的方案
根据你的需求(查询任意域名返回同组所有可信域名,比如查disney.com返回hulu.com、pixar.com),可以通过分组标识关联的方式实现,不用为每个域名创建多条关联条目,具体如下:
1. 调整Schema结构
在你的域名数据表中新增一个分组字段(比如trusted_group_id),把同一可信组的域名标记为相同的分组ID。示例表结构:
| domain_name | trusted_group_id |
|---|---|
| disney.com | 1 |
| hulu.com | 1 |
| pixar.com | 1 |
| amazon.com | 2 |
| primevideo.com | 2 |
2. 编写查询语句
当查询某个域名时,先获取它所属的分组ID,再拉取该分组下所有非当前查询的域名:
SQL示例(假设表名为trusted_domain_pairs)
SELECT domain_name FROM trusted_domain_pairs WHERE trusted_group_id = ( SELECT trusted_group_id FROM trusted_domain_pairs WHERE domain_name = 'disney.com' ) AND domain_name != 'disney.com';
执行这个查询,输入disney.com会返回hulu.com和pixar.com;输入hulu.com则返回disney.com和pixar.com,完全符合你的需求。
3. 方案优势
- 新增可信域名时,只需添加一条带对应分组ID的记录,不用为该域名和组内其他域名逐一创建关联条目,维护效率高。
- 分组逻辑清晰,后续修改分组、新增分组都很方便。
内容的提问来源于stack exchange,提问作者user1180969
相关产品推荐
相关产品推荐

