返回首页

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

更新日期:2024年09月11日

功能说明
记录所有coordinator 节点的加载错误日志信息。
表结构说明
表5- 244 表结构信息说明:




TASK_ID
加载ID
DB_NAME
加载数据库名
TB_NAME
加载表名
ERR_DATA_IP
产生错误数据的节点IP
FILE_NAME
加载文件名
FILE_OFFSET
错误数据偏移量
RECORD_LEN
错误数据行长
ERR_COLUMN
错误数据列号
ERR_REASON
错误数据具体原因
ERR_DATA
错误数据

下表显示了可以配置 SQL 语句高速缓存的不同方法。
表 1. 配置 SQL 语句高速缓存
配置参数
用途
onmode 命令
STMT_CACHE
打开、启用或禁用内存中的 SQL
语句高速缓存。
如果已打开,
请指
定 SQL 语句高速缓存能否保存
已解析和优化的 SQL 语句。
onmode -e mode
STMT_CACHE_HITS
指定将语句完全插入到 SQL 语
句高速缓存之前,命中(引用)该
语句的次数。
onmode -W
STMT_CACHE_HITS
STMT_CACHE_NOLIMIT
控制是否在 SQL 语句高速缓存
的大小大于
STMT_CACHE_SIZE 值之后将
语句插入到该高速缓存中。
onmode -W
STMT_CACHE_NOLIMIT
STMT_CACHE_NUMPOOL 定义 SQL 语句高速缓存的内存
池数。

STMT_CACHE_SIZE
指定 SQL 语句高速缓存的大小。

使用以下 onstat 选项可监视 SQL 语句高速缓存:

onstat -g ssc

onstat -g ssc all

onstat -g ssc pool
有关这些配置参数、onstat -g 选项以及 onmode 命令的更多信息,请参阅《GBase 8s 管理
员参考》。

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 147 -
有关使用 SQL 语句高速缓存、使用 onstat -g 选项监视该高速缓存以及调整配置参数的更
多信息,请参阅《GBase 8s 性能指南》中有关提高查询性能的部分。有关限定和恒等语句
的详细信息,请参阅《GBase 8s SQL 指南:语法》。

语法格式
INSERT [INTO] [database_name.]table_name [(col_name,...)]
VALUES ({expr | DEFAULT},...),(...),...

INSERT [INTO] [database_name.]table_name
[PARTITION (partition_name)] [(col_name,...)]
SELECT ... FROM [database_name.]table_name ...
说明
INSERT 将新行插入到一个已存在的表中。INSERT...VALUES 形式的语句基于明确
的值插入记录行。INSERT ... SELECT 形式的语句从另一个或多个表中选取出值,

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 689
并将其插入。
参数说明

table_name:是要被插入数据的表。

col_name:指出语句指定的值赋给哪个列。

PARTITION:只能用于跨引擎分区表,将数据插入到,分区表中分区名为
partition_name 的分区中,需要注意的是,partition_name 中有最新分区以外的
其他分区,语句将会报错。

如果在INSERT...VALUES 或INSERT...SELECT 中没有指定column 列,
那么所
有列的值必须在VALUES()列表中或由SELECT 提供。如果用户不知道表的列
的次序,可以使用DESC table_name 来查看。

使用关键词DEFAULT,明确地把列设置为默认值。这样,编写向所有列赋值
的INSERT 语句时可以更容易,
因为使用DEFAULT 可以避免编写出不完整的、
未包含全部列值的VALUES 清单。如果不使用DEFAULT,用户必须注明每一
个列的名称,与VALUES 中的每个值对应。

可以使用DEFAULT (col_name)作为设置列默认值的一个更通用的形式。

如果column 列表和VALUES 列表都为空,INSERT 将创建一个行,它的每一
列都设置为它的默认值。

可以指定一个表达式expr 来提供列值。例如,插入一个INT 型的数据表达式
可以写为INSERT INTO t(a) VALUES(3+5);
示例

示例1:INSERT INTO...
gbase> CREATE TABLE t0(id int) REPLICATED;
Query OK, 0 rows affected
gbase> INSERT INTO t0 VALUES(1),(2),(3),(4),(5),(6),(2),(3),(1);
Query OK, 9 rows affected
Records: 9 Duplicates: 0 Warnings: 0

gbase> SELECT * FROM t0;
+------+
| id |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 690
| 6 |
| 2 |
| 3 |
| 1 |
+------+
9 rows in set

示例2:INSERT INTO...SELECT...
gbase> CREATE TABLE t0(id int) REPLICATED;
Query OK, 0 rows affected

gbase>
INSERT
INTO
t0(id)
SELECT
DISTINCT
lo_custkey
FROM
ssbm.lineorder
LIMIT
15;
Query OK, 15 rows affected
Records: 15 Duplicates: 0 Warnings: 0

gbase> SELECT * FROM t0;
+-------+
| id |
+-------+
| 25738 |
| 18238 |
| 20612 |
| 5393 |
| 5954 |
| 11728 |
| 17302 |
| 14578 |
| 2210 |
| 27362 |
| 1642 |
| 29255 |
| 10745 |
| 7180 |
| 16276 |
+-------+
15 rows in set

示例3:INSERT INTO ... VALUES(DEFAULT)
gbase> CREATE TABLE t0(id int DEFAULT 1) REPLICATED;
Query OK, 0 rows affected

gbase> INSERT INTO t0 (id) VALUES(DEFAULT);
Query OK, 1 row affected

-- 也可以这样指定默认值进行插入

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 691
gbase> INSERT INTO t0 (id) VALUES(DEFAULT(id));
Query OK, 1 row affected

gbase> SELECT * FROM t0;
+------+
| id |
+------+
| 1 |
| 1 |
+------+
2 rows in set

示例4:INSERT 时,自动更新TIMESTAMP 列。
示例中用到的表如下:
DROP TABLE IF EXISTS t1;
CREATE TABLE t1(a timestamp , b int) DISTRIBUTED BY ('b');

gbase> INSERT INTO t1(b) VALUES(1);
Query OK, 1 row affected

gbase> INSERT INTO t1(b) VALUES (2);
Query OK, 1 row affected

gbase> INSERT INTO t1(b) VALUES (3);
Query OK, 1 row affected

gbase> INSERT INTO t1(b) VALUES (4);
Query OK, 1 row affected

gbase> INSERT INTO t1(b) VALUES (5);
Query OK, 1 row affected

gbase> SELECT * FROM t1 ORDER BY a;
+---------------------+------+
| a | b |
+---------------------+------+
| 2013-12-17 14:04:43 | 1 |
| 2013-12-17 14:04:47 | 2 |
| 2013-12-17 14:04:52 | 3 |
| 2013-12-17 14:04:59 | 4 |
| 2013-12-17 14:05:04 | 5 |
+---------------------+------+
5 rows in set
使用INSERT INTO t1 VALUES(),()语法时,此时INSERT 完成后数据行对应的

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 692
TIMESTAMP 列的值自动更新为一个时间戳。
gbase> INSERT INTO t1(b) VALUES (6),(7);
Query OK, 1 row affected
b=6 和b=7 对应的TIMESTAMP 列自动更新为一个时间戳。
gbase> SELECT * FROM t1 ORDER BY a;
+---------------------+------+
| a | b |
+---------------------+------+
| 2013-12-17 15:44:29 | 1 |
| 2013-12-17 15:44:30 | 2 |
| 2013-12-17 15:44:31 | 3 |
| 2013-12-17 15:44:32 | 4 |
| 2013-12-17 15:44:33 | 5 |
| 2013-12-17 15:44:48 | 7 |
| 2013-12-17 15:44:48 | 6 |
+---------------------+------+
7 rows in set

注意
INSERT ... SELECT 形式的语句,类型边界值仍以各引擎为准。