南大通用GBase8s 常用SQL语句(五十一)

南大通用GBase8s 常用SQL语句(五十一)
使用 IN TABLE 关键字创建索引
指定 IN TABLE 作为存储选项会创建一个存储行为等同于 GBase 8s 较早版本的缺省的索引。该表的索引和数据页都存储在同一 extent 中,且该索引的 dbspace 分布方案与创建该表时的分布方案相同
使用 IN TABLE 作为存储选项,对未分片 B-tree 索引指定与启用 DEFAULT_ATTACH 环境变量相同的存储方案,但是 DEFAULT_ATTACH 和 IN TABLE 关键字都是不建议使用的功能。
DEFAULT_ATTACH 环境变量的名称保留术语连接索引的过时定义。在当前 GBase 8s 术语中,该术语现在指定一个索引,其数据页存储在单独的 tablespace 中,并且是表的数据页单独 extent,但是索引和其表共享同一 dbspace 分布方案有关更多信息,请参阅 GBase 8s SQL 参考指南 中 DEFAULT_ATTACH 的描述。
以下限制应用于作为索引存储选项的 IN TABLE 关键字:
如果您定义索引的表是未分片表,则当指定 IN TABLE 选项时, GBase 8s 发出错误 -212 和 -130 。
你不能在森林树索引上应用 IN TABLE 存储选项。
该选项不支持与可扩展性相关的索引,如 R-tree 索引、函数型索引或 DataBlade 模块提供的索引。
不能使用不同于该表或不同于 DB_LOCALE 所指定的一个排列顺序创建附加索引。有关 DB_LOCALE 环境变量的更多信息,请参阅 GBase 8s SQL 参考指南 。
GBase 不建议新的应用程序中使用 IN TABLE 存储选项 DEFAULT_ATTACH 环境变量。这样的索引是一个不推荐使用的功能,以后发行的 GBase 8s 可能不支持此功能。
索引的 FRAGMENT BY 子句
使用 FRAGMENT BY 子句创建拆离索引,并在多个 sbspace 或分区上定义存储策略。
这类似表的 FRAGMENT BY 子句的语法,但索引分片不支持 ROUND ROBIN 关键字不。PARTITION BY 关键字是此上下文中 FRAGMENT BY 关键字的同义词。
索引的 FRAGMENT BY 子句

元素 描述 限制 语法
dbspace 存储索引分片的 dbspace 您能指定至多 2,048 个 dbspaces 。所有存储分片的 dbspaces 必须具有相同的页大小。 标识符
fragment _key 索引列上的强制转型、列或函数表达式。索引根据此表达式的值分片。 列只能来自当前的表。 表达式
此处 IN 关键字引入了用来存储索引分片的存储空间的名称。如果您在 IN 关键字时候列出多个 dbspace 名称,则使用圆括号来为 dbspace 列表定界。所有存储分片的 dbspaces 必须具有相同的页大小。将位于 EXPRESSION 关键字后面的分段定义列表括起的圆括号是可选的。
对于使用同一 RANGE 区间或者 LIST 分片策略作为它们表策略的索引,您在 PARTITION 关键字之后声明的每个分片的名称必须与对应表分片的标识符相同。
对于由 RANGE 区间分片策略分片的连接索引,如果在新插入的行的范围内不存在表分片,则数据库服务器创建一个新的表分片以存储新行,并为此新表分片声明系统生成的名称。如果该表被索引,且索引被与表相同的 RANGE 区间策略分片,则数据库服务器还会创建新的索引分片。在这种情况中,该索引分片具有与对应表分片相同的系统生成的标识符。有关系统生成的 RANGE 区间分片的信息,请参阅 Interval fragment 子句和通过 RANGE INTERVAL 分片 。
分片存储表达式上的限制
以下限制适用于此表达式:
每个分片表达式仅可包含来自当前表的列,其数据值仅来自单行。
该表达式必须返回一个 BOOLEAN 值(true 或 false)。
子查询、聚集、用户定义的例程或对 ROW 类型列字段或顺序对象的参考都是无效的。
内置 CURRENT 、SYSDATE 、TODAY 、SITENAME 、DBSERVERNAME 、CURRENT_USER 或 USER 函数都无效。
DEFAULT_ROLE 和 CURRENT_ROLE 运算符是无效的。
以上列出的限制也适用于使用 LIST 分片存储策略的索引。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值