表统计
每一张打开的表在标签页工具栏中都有一个统计按钮 —— 条形图图标 —— 在可视化模式和 PartiQL 模式下都可用。它会打开一个每张表专属的面板,让你一眼看清表的结构,可以为表建立索引,从而让自动补全知道你的字段,并将推断出的 schema 导出为 TypeScript、Zod 或 JSON Schema。

概览
面板顶部展示了表的结构:
- 主键 —— 分区键,以及排序键(如果表有排序键)。
- 二级索引 —— 每个全局或本地二级索引及其键。即使一张表有很多索引,也能保持紧凑 —— 列表会就地滚动。
- 条目数 · 大小 · 平均条目 —— DynamoDB 自身的估算值。它们大约每六小时刷新一次,因此请把它们当作大致数字,而非精确计数。将鼠标悬停在 DynamoDB estimate 上可查看相关说明。
Indexing your table
在没有已索引字段的情况下,Workbench 和 PartiQL 查询编辑器不会给出字段或值的建议。关键字、函数和运算符的补全仍然有效。
索引为以下功能提供数据:
- 查询编辑器: Workbench 和 PartiQL 的字段与值建议,以及 Workbench 对未知列的检查。
- 条目编辑器: 已索引的数据提供所有非键字段名建议和全部值建议。
PK、SK、GSI和LSI的键名来自表定义,无需索引。 - 可视化表工具: 列选择器、可视化的 query 与 scan 筛选、Smart Table 节点,以及关系属性选择器。
- AI: 当前表的
@column建议、schema 工具、两个查询编辑器中 ghost text 与内联编辑的 schema 提示,以及联接后 Smart Table 列的归一化。 - 统计与共享: 已索引字段列表、推断 schema 导出,以及把索引发布到团队工作区。
基于索引的补全和 AI ghost text 是两回事。Workbench 和 PartiQL 的索引建议不受套餐限制;AI ghost text 默认关闭,且需要有效的许可证。
在条目编辑器中,DynamoDB JSON 模式会抑制基于索引的值补全。字段名补全在那里仍然有效。
索引可以通过五种方式出现或增长:
- 手动扫描: 建立表索引默认最多扫描 10,000 个条目。重建索引会先清除当前索引,再按同样的上限扫描。在字段很宽或长尾很长的表上,首次出现在上限之外的属性仍会缺失。
- 已取回的页: 当你取回表的页时,DynoTable 会把这些条目加入索引,而不清除它。
- Smart Tables: 第一页取回的数据会为索引做初始引导。
- 团队工作区: 队友发布的索引可以导入,无需本地扫描。导入会替换什么,见团队工作区。
- AI 引导: 当 schema 未命中时,AI 会在回答前尽力索引约 100 个条目。它会在已有索引之上增补。
手动扫描会实时显示进度,并会消耗 DynamoDB 读取。建立索引后,已索引字段会列出发现的属性,包括以点分隔路径表示的嵌套属性,例如 commonData.status。
每个字段都会显示它被观察到的类型,以及它在抽样到的条目中是必需还是可选。当字段超过少数几个时,会出现一个筛选框,方便你快速找到某个字段。清除索引会移除本地索引。
导出 schema
在一张已索引的表上,打开导出并选择一种格式,即可将你的条目转换为带类型的 schema:
- TypeScript —— 一个
interface。 - Zod —— 一个
z.object(...)schema(兼容 Standard-Schema)。 - JSON Schema —— draft 2020-12。
将它复制到剪贴板,或保存到一个文件。每次导出的开头都会有一条说明,表明它是从采样的条目中推断得出的 —— 是一个很好的起点,而非权威约定。可选性反映的是每个属性在索引过程中出现的频率;主键属性始终被标记为必需。
这是关于你数据结构的 schema —— 不同于对数据本身的导出。


