返回首页

gbase数据、南大通用产品文档:GBase8a

更新日期:2024年09月11日

NOT,!逻辑非
操作符说明
如果操作数为0,返回1;如果操作数为非零,返回0;如果操作数为NULL,返
回NULL。
示例
示例1:操作数为非零,返回值为0。
gbase> SELECT NOT 10 FROM dual;
+--------+
| NOT 10 |
+--------+
|
0 |
+--------+
1 row in set
示例2:操作数为0,返回值为1。
gbase> SELECT NOT 0 FROM dual;
+-------+

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
662
| NOT 0 |
+-------+
|
1 |
+-------+
1 row in set
示例3:操作数为NULL,返回值为NULL。
gbase> SELECT NOT NULL FROM dual;
+-----------+
| NOT NULL
|
+-----------+
|
NULL |
+-----------+
1 row in set
示例4:表达式的值为非零,返回值为0。
gbase> SELECT ! (1+1) FROM dual;
+---------+
| ! (1+1) |
+---------+
|
0 |
+---------+
1 row in set
示例5:表达式! 1+1 与(!1)+1 等价,执行结果为1。
gbase> SELECT ! 1+1 FROM dual;
+-------+
| ! 1+1 |
+-------+

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
663
|
1 |
+-------+
1 row in set
gbase> SELECT (!1)+1 FROM dual;
+--------+
| (!1)+1 |
+--------+
|
1 |
+--------+
1 row in set
示例6:..NOT IN...
gbase> SELECT 1 NOT IN (2,3,null) FROM dual;
+---------------------+
| 1 NOT IN (2,3,null) |
+---------------------+
|
NULL |
+---------------------+
1 row in set

使用 SYSSBSPACENAME 配置参数来指定 sbspace 的名称,
数据库服务器在其中存储分片级
别数据分布统计信息,syfragsdist 系统目录表在其 encsdist 列中存储为 BLOB 对象。
还使用 SYSSBSPACENAME 来指定 sbspace 的名称,数据库服务器在其中存储 UPDATE
STATISTICS 语句为某些用户定义的数据类型收集的统计信息。
onconfig.std 值
未设置。
如未出现
0

最多 128 字节。SYSSBSPACENAME 必须是唯一的,以一个字母或下划线开头,且仅包含数
字、字母、下划线或 $ 字符。
生效
编辑 onconfig 文件并重启数据库服务器之后。
当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。
当您通过运行 onmode -wm 命令重置内存中的该值时。
参考
l 更新统计信息,在 GBase 8s 性能指南 中关于个别查询性能的章节中

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 161 -

l sbspace 特征,在 GBase 8s 性能指南 中关于配置对 I/O 影响的章节中
l 写用户定义的统计信息,在 GBase 8s 用户定义的例程和数据类型开发者指南 中
的性能章节中
l 提供一列的统计信息数据,在 GBase 8s DataBlade API 程序员指南 中
用法
要支持分片级别统计信息,您必须指定一个 sbspace 的名称作为 SYSSBSPACENAME 设置,
且您必须分配那个 sbspace(通过使用 onspaces 实用程序,如下所示。对于任何其
STATLEVEL 属性设置为 FRAGMENT 的表,如果未设置 SYSSBSPACENAME,或如果未正当地分
配 SYSSBSPACENAME 设置到的那个 sbspace,则数据库服务器返回错误)。
对于分片表中一列的分布统计信息,
您可根据这个公式估计该 sbspace 要求的存储容量为
多少字节:
nfrags * 1.25 * ((10000 / resolution) * ((2 * column_width) + 6))
此处 1.25 接近溢出 GBase_8s bin 的数目。公式还包括这些变量:
l column_width 是 UPDATE STATISTICS 语句指定列的以字节计的宽度。
l nfrags 是表的分片数。
l resolution 是计算分布的 UPDATE STATISTICS 语句的 resolution 子句中
percent 值。
resolution 还是 dbschema -hd table 命令为该列分布统计信息显示的内容。
SYSSBSPACENAME 还指定 sbspace 的名称,数据库服务器在其中存储 UPDATE STATISTICS
语句为某些用户定义的数据类型收集的统计信息。通常情况下,数据库服务器在
sysdistrib 系统目录表中存储统计信息。
请不要混淆 SYSSBSPACENAME 配置参数与 SBSPACENAME 配置参数。
由于用户定义的数据类型的数据分布可很大,您有在 sbspace 中存储它们,而不存储在
sysdistrib 系统目录表中的选项。如果您在 sbspace 中存储数据分布,则请使用
DataBlade API 或 GBase 8s ESQL/C 功能来检查统计信息。
即使您以 SYSSBSPACENAME 参数指定一个 sbspace,在可使用它之前,您也必须以
onspaces 实用程序的 -c -S 选项创建该 sbspace。当发生下列情况之一时,数据库服务
器验证这个 sbspace 的名称:
l 当数据库服务器执行带有 MEDIUM 或 HIGH 关键词的 UPDATE STATISTICS 语句时,
数据库服务器尝试将多重表示类型的数据分布写到 SYSSBSPACENAME。
l 当数据库服务器执行带有 DROP DISTRIBUTIONS 关键词的 UPDATE STATISTICS 语
句时,数据库服务器尝试将多重表示类型的数据分布删除到 SYSSBSPACENAME。
如果未设置 SBSSPACENAME,或如果未分配存储到那个 sbspace,则数据库服务器可能存储
分布统计信息,以便 UPDATE STATISTICS 操作以错误 -9814失败。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 162 -

虽然您可在 SYSSBSPACENAME 中指定的 sbspace 中存储智能大对象,
但推荐将分布统计信
息与智能大对象保持在分开的 sbspace 中,因为:
l 您要避免当查询正在访问智能大对象,且查询优化器正在使用分布来确定查询计划
时发生磁盘争用。
l 当每一 sbspace 用于不同的目的,磁盘空间花费较长时间才填满。

GBA-01BR-0023
错误码
错误标识
错误显示信息
GBA-01BR-0023

catch Unknown Error

GBase 8a MPP Cluster 产品手册
7 附录
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1677
错误出现原因
未知异常
分析与建议
查看具体错误码或日志,进一步定位错误