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

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

表的 COMPRESSED 选项

当数据加载到表或表分片中时,使用 CREATE TABLE 语句的 COMPRESSED 选项启用自动压缩大量数据行。

在使用 COMPRESSED 选项创建表之后,数据库服务器自动创建压缩自动并压缩 2000 行之后的数据行或更多加载到表中或分片中数据。 如果数据通过轻量级追加加载,则前 2000 行和所有连续的行都会被压缩。如果数据通过其它方式加载,则压缩前 2000 行之后的所有连续的行。要压缩初始的 2000 行,请运行带有 table compress 或 fragment compress 参数的SQL 管理 API task() 或 admin() 函数。

COMPRESSED 选项只对行中的数据启用。 COMPRESSED 选项不会启用 dbspace 或索引中的简单大对象的自动压缩。(您可以使用 CREATE INDEX 语句的 COMPRESSED 关键字创建一个压缩的 B-tree 索引。)

以下示例创建了一个设置为可以自动压缩的表:

CREATE TABLE cust5 (  ...) COMPRESSED;

以下示例还创建了一个名为 t 的表,并定义其第一个和后续 extent 大小设置为自动压缩:

CREATE TABLE t(c int, d int) EXTENT SIZE 32 NEXT SIZE 32 COMPRESSED;

要禁用自动压缩新行中数据,请在表上运行带有 table uncompress 参数的 SQL 管理 API task() 或 admin() 函数。您可以使用 fragment uncompress 和 fragment compress 参数控制表分片的压缩。

延迟 extent 存储分配

如果 IN dbspace 是新表的唯一的存储规范,则会在创建表时为第一个 extent 缺省分片 16 千字节存储(或者四页面的足够的存储,如果 4 页需要对于 16 千字节)。

但是,如果 CREATE TABLE 语句不包含以下存储规范,则不会第一个 extent 分配存储:

  1. EXTENT SIZE
  2. NEXT SIZE
  3. IN dbspace 。

在这种情况中,除非第一行已经存储在表中,否则会延迟第一个 extent 的存储分配。

相同存储分配延迟适用于通过不包含以上存储规范列表的 CREATE TEMP TABLE 语句定义的表。

当首次向已延迟 extent 分配的表中插入行时,第一个 extent 的缺省大小为 16 千字节。如果 16 千字节不足 4 个页面,则第一个 extent 大小将会是 4 页。

USING 存取方法子句

USING 存取方法子句可以指定一个存取方法。

USING 存取方法子句

 

元素

描述

限制

语法

config_keyword

与指定的存取方法关联的配置关键字

不大于 18 字节,存取方法必须存在。

文字关键字

config_value

指定配置关键字的值

不大于 236 字节。必须由存取方法定义。

引用字符串

主存取方法是执行 DDL 和 DML 操作的例程集合,如 create 、drop 、insert 、delete 、update 和 scan ,使表可供数据库服务器访问。 GBase 8s 提供了一种内含子的主存取方法。

可以在数据库服务器外的 extspace 或数据库服务器内的 sbspace 中存储并管理虚拟表。(请参阅 存储选项。)可以使用 SQL 语句存储虚拟表。访问虚拟表需要用户定义的主要存取方法。

DataBlade 模块可以提供其它主要存储方法来访问虚拟表。访问虚拟表时,数据库服务器将调用与该存取方法关联的例程而不是内置表例程。有关这些主存取方法的更多信息,请参阅您的存取方法文档。

您可以使用 MI_TAB_AMPARAM 宏从表描述符中检索存取方法的配置值列表(mi_am_table_desc)。不是所有的关键字都需要配置值。

存取方法必须已经存在。例如,如果名为 textfile 的存取方法已经存在,则可以用以下语法来指定:

CREATE TABLE mybook

          (... )

          IN myextspace

          USING textfile (DELIMITER=':');

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值