在ArcCatalog 中创建属性索引

您可以为地理数据库要素类或表中的单个或多个字段创建属性索引,方法是:右键单击“目录树”中的表名并进入属性对话框。
在“目录树”中,右键单击要为其创建索引的表或要素类并单击属性。单击索引选项卡。单击添加。输入新索引的名称。如果您的字段值是唯一的,请选中唯一复选框。选中升序复选框可创建一个升序索引。
“唯一”和“升序”设置不适用于文件地理数据库,因此可以不选中这两个选项。“升序”设置不适用于 Oracle ArcSDE 地理数据库。“唯一”和“升序”设置不适用于 SQL Server ArcSDE 地理数据库。
单击要创建索引的一个或多个字段。
注:
文件地理数据库不支持多列索引。
单击右箭头按钮将字段移动到选定字段列表中。使用上下箭头更改索引中字段的顺序。单击确定。单击应用创建索引或单击确定创建索引,然后关闭属性对话框。

使用地理处理创建属性索引

“数据管理”工具箱中的“索引”工具集提供了两个用来创建和移除属性索引的主要工具。
“添加属性索引”工具可向现有的表、要素类或属性关系类中添加单个或多列索引。对于所有 ArcGIS 许可,此工具均可用。
“移除属性索引”工具可从现有的表、要素类或属性关系类中移除单个或多列索引。对于所有 ArcGIS 许可,此工具也都可用。

属性索引名称

当命名 ArcSDE 地理数据库中的索引时,指定的索引名称最好能够反映出索引的是哪个表甚至哪个列。不过,对于被索引的表,如果其名称发生改变,您的索引名称可能无法再指示索引的是哪个表。一些组织发现,如果指定的索引名称中能够体现出它是一个索引(例如,在名称的开头或结尾添加 IDX),这样会很有用。例如,地址表索引的名称可以是 ADRS_APK_IDX,其中 ADRS 表示此索引位于地址表中,APK 表示索引的是哪个列,IDX 明确表明这是一个索引。
与表名类似,ArcSDE 地理数据库中的索引名称同样也适用于以下规则:
在数据库中必须唯一必须以字母开头不能包含空格不能包含保留字
对于在文件地理数据库内如何命名属性索引,没有任何限制。个人地理数据库内的索引名称中不能包含空格或保留字。
在ArcGIS 中,属性索引名称的最大长度强制不得超过 16 个字符。此限制基于所支持的数据库内允许的最小长度,这样便于在不同地理数据库之间分发和共享数据。

唯一索引

“唯一”选项不适用于文件地理数据库,因此可以不选中此选项。“唯一”选项适用于 SQL Server ArcSDE 地理数据库;但是,当源数据为注册为版本的要素类时,在“添加属性索引”对话框中此选项不可用。
当您创建索引时,会出现一个“创建为唯一索引”选项。如果每条记录中的属性都具有唯一值,请选择此选项。这将加快对该属性的查询过程,因为数据库将在找到第一个匹配值后停止搜索。
但是请注意,在个人地理数据库中您无法编辑用户定义字段中的具有唯一索引的要素类。此外,您还无法在用户定义字段中编辑与具有唯一索引的其他要素类位于同一要素数据集的要素类。在试图开始编辑个人地理数据库时,ArcMap 将返回如下错误:
无法编辑任何地图图层。请检查图层或表中用户管理的列上是否包含唯一索引。
如果个人地理数据库中的某个字段具有唯一索引且需要对其进行编辑,则可使用ArcCatalog 删除此唯一索引并将其重新创建为非唯一索引。

升序和降序索引

在文件或 Oracle ArcSDE 地理数据库中无法使用“升序”选项,因此可以不选中此选项。“升序”选项适用于 SQL Server ArcSDE 地理数据库;但是,当源数据为注册为版本的要素类时,在“添加属性索引”对话框中此选项不可用。
当您创建索引时,会出现“创建升序索引”选项,如果未选中此选项,则默认“创建降序索引”选项。升序索引将按升序排列。例如,在升序索引中城市名以 Athens、Berlin、London 和Paris 这种顺序排列,而在降序索引中它们则将显示为 Paris、London、Berlin 和Athens。
在几乎所有情况下,索引的排列方向对检索速度几乎或完全没有影响,因为对于大多数查询,向前遍历索引的效率与向后遍历索引相同。

单个索引与多列索引

文件地理数据库不支持多列索引。