first_kilobytes (next_kilobytes)的最小长度是您系统上磁盘页大小的四倍。例如,如果您有 2 千字节的页系统,则最小长度是 8 千字节。
如果需要修改索引的 extent 大小,则您可以修改生成的卸载表的模式文件中 extent 和下一个 extent 大小。例如,要使数据库更有效率,您可以删除该索引,修改模式文件中的 extent 大小,然后创建新的索引。有关如何优化 extent 的更多信息,请参阅 GBase 8s 管理员指南 。
只有您为该索引显式分配作为 extent 大小的 extent 大小的值存储在系统目录中。您在 CREATE INDEX 语句的 EXTENT SIZE 选项中指定的值存储于 sysindices 系统目录表的 fextsize 列,NEXT SIZE 选项中指定的值存储于同一表的 nextsize 列中。然而,如果您省略这些选项,数据库服务器在这些系统目录列中存储零值( 0 ),而非它为该索引的第一个 extent 和第二个 extent 计算并分配的缺省值。
CREATE TABLE IF NOT EXISTS t (a INT, b INT); CREATE INDEX IF NOT EXISTS idx1 ON t(a) EXTENT SIZE 32 NEXT SIZE 32; CREATE INDEX IF NOT EXISTS idx2 ON t(b);
此处 idx2 的 0 值指示没有指定显式 extent 大小(并非指示未分配存储空间)。