要素类属性 和表属性 对话框不允许您指定多列索引。通过“添加属性索引”工具和 ArcObjects,您可以指定多列索引,尽管您所创建的索引在从ArcCatalog 内的要素类属性 或表属性 对话框中查看时显示为多列索引,但实际上它是每个字段的单独索引。
在个人或 ArcSDE 地理数据库中可以为单个列或多个列创建索引。如果您经常在查询中同时指定两个或三个字段,则多列索引将十分有用。在这种情况下,多列索引所提供的查询性能可能比使用两个或三个独立索引分别查询各个字段时快得多。
字段在多列索引中的显示顺序很重要。在多列索引中,如果 A 列位于 B 列之前,则将使用 A 列执行初始搜索。此外,与针对仅涉及 B 列的查询相比,此类索引更适用于针对仅涉及 A 列的查询。
决定是创建多列索引或单列索引,还是同时创建两种形式的索引需要加以权衡,多数情况下难以做出最佳决定。不过,通常会有各种行之有效的解决办法。例如,如果您有时只查询 A 列、有时只查询 B 列、而有时又会同时查询这两列,您可以任选下列方法之一:
为A和B创建两个单独的索引。为A和B创建一个多列索引。通常,当同时查询这两列时效率会更高。对于仅涉及 A 的查询,此索引将比单独的 A 索引慢。此索引对于只涉及 B 的查询来说作用不大。为此,您可以另外为 B 创建一个索引。创建全部三个索引:一个 A 索引、一个 B 索引和一个 A 和B的多列索引。当所有三种类型的查询均经常发生,且对表的查询频率大于其更新频率时,使用这种方法才会有意义。

相关主题