本文介绍如何在数据库工作台 DBW 控制台的执行命令窗口内可视化的创建索引、删除索引和编辑索引,实现索引的全生命周期管理。
不支持删除修改系统库和系统库内的集合。
不支持编辑和删除集合内默认索引 _id_
。
索引的创建和编辑会消耗一定的 CPU 资源,为降低创建或编辑索引对您的实例造成影响,建议您采取以下措施:
在业务低峰期创建索引。
启用 Background 选项,在后台创建索引,以避免因创建索引导致操作阻塞。
说明
不建议在系统库的集合内创建索引。
在数据交互台页面的顶部菜单栏,单击数据库后的图标,选择目标数据库。
在数据交互台的可视化区域,展开集合,右键单击索引,选择创建索引。
在创建索引@数据库页签,配置索引参数信息。
参数 | 说明 | |
---|---|---|
索引信息 | 所属数据库 | 展示当前索引所在的数据库名称,无需设置。 |
所属集合 | 展示当前索引所在的集合名称,无需设置。 | |
索引名称 | 自定义索引名称,命名规则如下:
| |
键 |
| |
高级配置 | Background | 勾选是否使用 Background ,避免索引创建过程中阻塞其他操作。默认勾选。 |
Unique | 勾选 Unique 是否是唯一索引,若存在重复记录则会被拒绝。 | |
Sparse | 勾选是否启用 Sparse,在不存在的字段数据时不启用索引,选中后无法查询出不包含索引字段的文档。 | |
TTL | 勾选是否使用 TTL 索引模式,TTL 可用于自动删除过期文档,帮助您管理和清理时效性数据,确保数据库中的数据始终是最新的相关的。 说明 TTL 索引仅可建立在包含日期类型的单个字段上,且该字段必须为时间类型字段,例如 Timestamp。若为非日期字段,TTL 索引将不会生效。建议采用升序方式,以确保最早的文档被删除。有关 TTL 的更多信息,请参阅 MongoDB 的官方文档。 | |
ExpireAfterSeconds | 设置在指定时间后自动删除集合中的数据,以节省存储空间和提高查询性能。取值范围为 [0, 2147483647],单位为秒(s)。 说明 在勾选 TTL 时,需配置该参数。 |
单击提交。
在执行 SQL 对话框,确认创建索引的 SQL 语句。
单击执行。
注意
默认索引 _id_
不可被编辑。
系统库的索引不允许被编辑。
如果创建的索引勾选了 TTL,那么在编辑索引时,仅支持修改 TTL 的 expireAfterSeconds
值。取值范围为 [0, 2147483647],单位为秒(s)。
在数据交互台页面的顶部菜单栏,单击数据库后的图标,选择目标数据库。
在数据交互台的可视化区域,展开索引,右键单击目标索引,选择编辑索引。
在编辑索引{索引}@{数据库} 页签,配置索引信息和高级配置。详细信息,请参见创建索引。
单击提交。
在执行 SQL 对话框,确认编辑索引的 SQL 语句。
单击执行。
在数据交互台页面的顶部菜单栏,单击数据库后的图标,选择目标数据库。
在数据交互台的可视化区域,展开索引,右键单击目标索引,选择查询索引。
在会话页签,单击执行 (F8) 或按 F8 键。
在执行结果区域,可查看索引的详细信息。
注意
默认索引 _id_
不可被删除。
不允许删除系统库的索引。
在数据交互台页面的顶部菜单栏,单击数据库后的图标,选择目标数据库。
在数据交互台的可视化区域,展开索引,右键单击目标索引,选择删除索引。
在执行 SQL 对话框,确认删除索引的 SQL 语句。
单击执行。
API | 描述 |
---|---|
DataExecCommands | 调用 DataExecCommands 接口执行命令语句。 |
DataSessionKeepAlive | 调用 DataSessionKeepAlive 接口保持 SQL 会话窗口。 |
DataCloseSession | 调用 DataCloseSession 接口退出 SQL 会话窗口。 |
DataCancelExec | 调用 DataCancelExec 接口取消 SQL 执行。 |