返回首页

gbase数据、南大通用产品文档:GBase8aDIV 整数除法

更新日期:2024年09月11日

示例1
两个操作数都是整型。
gbase> SELECT 5 DIV 2 FROM t;
+---------+
| 5 DIV 2 |
+---------+
| 2 |
+---------+
1 row in set
说明
函数失败时,不同引擎表现不同,例如:
4 DIV 0 在8a 上返回NULL,在hive 引擎报错;
4 DIV -2.567 在8a 上会将返回-1,在hive 引擎报错。
数学函数

所有的数学函数在发生错误的情况下,8a 引擎均返回NULL。其它引擎可能报
错或返回其它值;

不同引擎上执行数学函数时,返回值的精度可能不同。

数学函数对decimal 类型运算的支持程度说明如下:
下列数学函数运算支持decimal 精确类型运算,返回结果为decimal 类型时
精度最少达到16 位。
该功能由参数gbase_decimal_calculation 控制,
默认为0 关
闭,函数运算结果为double 类型;值设置为1 时开启,返回规则见下表:
数学函数
x 类型
y 类型
返回类型
Exp(x)
Sqrt(x)
Ln(x)
Int/decimal
-
decimal
double
-
double

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 451
Log(x)/log2(x)/log10(x)
Log(x,y)
Pow(x,y)
Int/decimal
Int/decimal
decimal
Int/decimal
double
double
double
Int/decimal/double double
注:
1. 返回值类型精度默认为16 位。
2. 入参最大精度不足16 位时返回值类型精度为16 位。
3. 入参最大精度大于16 位时函数返回值类型精度为入参最大精度。
4. 结果为decimal 类型时,结果范围变小,表示范围为decimal(65,精度)的最大表
示范围。精度越高,表示范围越小。
5. gbase_decimal_calculation 参数开启后结果类型为decimal 时与升级前版本的结
果集不兼容。

操作步骤
步骤1:初始化hashmap:
$ gccli -uroot
GBase client 9.5.3.17.117651. Copyright (c) 2004-2020, GBase.
All Rights
Reserved.
gbase> use vc vc1;
Query OK, 0 rows affected (Elapsed: 00:00:00.00)
gbase> initnodedatamap;
Query OK, 0 rows affected, 5 warnings (Elapsed: 00:00:01.45)
步骤2:执行数据重分布:
gbase> show variables like '%rebalanc%';
+-------------------------------------------------------+-----------+
| Variable_name
| Value
|
+-------------------------------------------------------+-----------+
| _t_gcluster_rebalance_mirror_node
| 0
|
| gcluster_load_rebalance_seed
| 5
|
| gcluster_rebalancing_concurrent_count
| 5
|
| gcluster_rebalancing_ignore_mirror
| OFF
|
| gcluster_rebalancing_immediate_recover_internal_table | OFF
|
| gcluster_rebalancing_parallel_degree
| 4
|
| gcluster_rebalancing_random_table_quick_mode
| 1
|
| gcluster_rebalancing_step
| 100000000 |
| gcluster_rebalancing_update_status_on_drop_table
| ON
|
+-------------------------------------------------------+-----------+
9 rows in set (Elapsed: 00:00:00.24)
gbase> rebalance instance;
Query OK, 2 rows affected (Elapsed: 00:00:01.45)
查看rebalance 状态:
gbase> select index_name, status, percentage
from
gclusterdb.rebalancing_status;
+------------+-----------+------------+
| index_name | status
| percentage |
+------------+-----------+------------+
| demo.t
| COMPLETED |
100 |
| demo.tt
| COMPLETED |
100 |
+------------+-----------+------------+
2 rows in set (Elapsed: 00:00:00.04)
gbase> quit
Bye

CPU 降频
部分节点一直性能差,可以查看/proc/cpuinfo 每个核心的MHz 信息是否差距大。
如果差距大,可能是CPU 损坏、或者开启了节能模式、或者CPU 温度高等情况。
比如有些核心的MHz 只有一半,甚至更低,这时需要排查CPU 硬件,关闭CPU
节能模式,改成高性能模式,或者维修、更换。