确定可用的运算符类

通过查询 sysopclasses 系统目录表来确定您数据库可用的运算符类:

数据库服务器为内置辅助访问方法(即一般 B 型树索引)提供缺省的运算符类。 另外,您的环境中可能还安装了 DataBlade 模块,它们可以实现其他运算符类。 所有运算符类均定义在 sysopclasses 系统目录表中。

要确定您数据库可用的运算符类,可使用以下 SELECT 语句来查询 sysopclasses 系统目录表:
SELECT opclassid, opclassname, amid, am_name
FROM sysopclasses, sysams
WHERE sysopclasses.amid = sysams.am_id
此查询返回以下信息:
缺省情况下,数据库服务器在 sysopclasses 系统目录表中,为 btree_ops rtree_ops 这两个运算符类提供以下定义。
访问方法 opclassid 列 opclassname 列 amid 列 am_name 列
一般 B 型树 1 btree_ops 1 btree
R 型树 2 rtree_ops 2 rtree

如果在 sysopclasses 系统目录表中发现有附加行(opclassid 值大于 2 的行),那么数据库支持用户定义的运算符类。 检查 amid 列中的值,以确定 运算符类所属的辅助访问方法。

sysams 系统目录表中的 am_defopclass 列存储辅助访问方法的缺省运算符类的 运算符类标识。 要确定给定的辅助访问方法的缺省运算符类,可以运行以下查询:
SELECT am_id, am_name, am_defopclass, opclass_name
FROM sysams, sysopclasses
WHERE sysams.am_defopclass = sysopclasses.opclassid
缺省情况下,数据库服务器提供以下缺省运算符类。
访问方法 am_id 列 am_name 列 am_defopclass 列 opclass_name 列
一般 B 型树 1 btree 1 btree_ops
R 型树 2 rtree 2 rtree_ops

有关 sysopclassessysams 系统目录表各列的更多信息,请参阅《GBase 8s SQL 指南:参考》。有关如何确定数据库中可用的访问方法的信息,请参阅确定可用的访问方法