Oracle 和 DB2 中的地理数据库使用格网索引。空间索引通过将格网应用到空间列中的数据构建而成。空间格网索引是二维的,并且涵盖一个要素类范围,类似于一般道路地图上的参考格网。您可以将空间格网索引划分为成一个、两个或三个格网等级,每个等级的像元大小各不相同。必不可少的第一层格网等级的像元大小最小。第二层和第三层格网像元等级为可选等级,将其设置为 0 时不可用。如果启用第二层和第三层格网像元等级,则第二层格网像元的大小至少必须是第一层格网像元大小的三倍,而第三层网格像元的大小至少必须是第二层网格像元大小的三倍。
在下例中,要素类具有两个格网等级。区域形状 101 位于等级 1 的格网像元 4 中。空间索引表上会添加一条记录,这是因为要素所占格网像元数小于四个(本例中仅占一个像元)。区域要素 102 的包络矩形位于等级 1 的像元 1 到 8 中。由于要素的包络矩形所占格网像元数大于四个,因此要素被将提升到等级 2,在等级 2 中,其包络矩形拟合于两个格网像元中。要素 102 在等级 2 中建立索引,而且空间索引表中会添加两条记录。
插入、更新或删除要素会更新空间索引。每个要素的范围都会叠加到最低格网等级上,从而获得格网像元的数量。如果要素超过为 SERVER_CONFIG 表中的 MAXGRIDSPERFEAT 值设置的值,则在已定义更高等级的情况下,几何会被提升至下一较高等级。
对于 Oracle 数据库,您可以通过设置用于创建要素类的配置关键字的 S_STORAGE 参数来指定创建空间索引的位置。有关设置配置参数的信息,请参阅 Oracle 配置参数。