返回首页

gbase数据、南大通用产品文档:GBase8cGIN 提示与技巧

更新日期:2024年09月11日

创建vs 插入
由于可能要为每个项目插入很多键,所以GIN 索引的插入可能比较慢。对于向表中大
量插入的操作,
我们建议先删除GIN 索引,
在完成插入之后再重建索引。
与GIN 索引创建、
查询性能相关的GUC 参数如下:

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1286
maintenance_work_mem
GIN 索引的构建时间对maintenance_work_mem 的设置非常敏感。
work_mem
在向启用了FASTUPDATE 的GIN 索引执行插入操作的期间,只要待处理实体列表的
大小超过了work_mem,
系统就会清理这个列表。
为了避免可观察到的响应时间的大起大落,
让待处理实体列表在后台被清理是比较合适的(比如通过autovacuum)。前端清理操作可
以通过增加work_mem 或者执行autovacuum 来避免。然而,扩大work_mem 意味着如果发
生了前端清理,那么他的执行时间将更长。
gin_fuzzy_search_limit
开发GIN 索引的主要目的是为了让GBase 8c 支持高度可伸缩的全文索引,并且常常会
遇见全文索引返回海量结果的情形。而且,这经常发生在查询高频词的时候,
因而这样的结
果集没什么用处。
因为从磁盘读取大量记录并对其进行排序会消耗大量资源,
这在产品环境
下是不能接受的。
为了控制这种情况,
GIN 索引有一个可配置的返回结果行数的软上限的配
置参数gin_fuzzy_search_limit。缺省值0 表示没有限制。如果设置了非零值,那么返回结果
就是从完整结果集中随机选择的一部分。
“软上限”的意思是返回结果的实际数量可能与指
定的限制有偏差,这取决于查询和系统随机数生成器的质量。

操作场景
每个VC 在创建完distribution 后必须先执行initnodedatamap。

GBase 8a MPP Cluster 产品手册
3 集群安装升级与卸载
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
81
操作步骤
使用数据库用户root 登录(root 用户默认密码是空),执行initnodedatamap 命令。
示例:分别在已创建vc1,vc2 在其上执行initnodedatamap。
$ gccli -uroot
GBase client 9.5.3.17.123187. Copyright (c) 2004-2020, GBase.
All Rights Reserved.
gbase> use vc vc1;
Query OK, 0 rows affected (Elapsed: 00:00:00.04)
gbase> initnodedatamap;
Query OK, 0 rows affected (Elapsed: 00:00:10.83)
gbase> use vc vc2;
Query OK, 0 rows affected (Elapsed: 00:00:00.00)
gbase> initnodedatamap;
Query OK, 0 rows affected (Elapsed: 00:00:15.78)

应用程序使用 GBase 8s ODBC Driver API 建立与数据源的连接,
将 SQL 语句发送至数据
源,动态地处理结果数据,并终止连接。
驱动程序允许应用程序执行下列步骤:
1. 连接至数据源。
可以通过 DSN 连接来连接数据源,也可以使用 DSN-less 连接字符串。指定数据
源的名称和完成连接所需的任何附加信息。
2. 处理一个或多个 SQL 语句:
a. 将 SQL 文本字符串置于缓冲区中。
如果该语句包括参数标记,
则设置参数值。
b. 如果该语句返回结果集,则为该语句分配一个游标名称,或让驱动程序分配一
个。
c. 准备该语句,或者提交立即执行。
d. 如果该语句创建结果集,则可查询结果集的属性,诸如列数,以及特定列的名
称和类型。对于结果集中每一列,请指定存储和访存结果。
e. 如果该语句导致错误,则从驱动程序检索错误信息,并采取恰当的措施。
3. 通过提交或回滚来结束任何事务。
4. 当应用程序结束与数据源的交互时,终止连接。
每个 GBase 8s ODBC Driver 函数名称都以前缀 SQL 开始。
每一函数接受一个或多个参数。
定义参数作为(至驱动程序的)输入或(来自驱动程序的)输出。
下图展示了应用程序进行的基本函数调用,即使应用程序通常也调用其他函数。
图: GBase 8s ODBC Driver应用程序进行的函数调用的示例列表


GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 13 -