返回首页

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

更新日期:2024年09月11日

取值:[0|1]
默认值:0
说明:这个参数用于控制是否启用集群查询的starschema 优化。
集群outer join 的starschema 优化,例如:
SELECT * FROM t1 LEFT JOIN t2 ON t1.id= t2.id WHERE t1.a = x
被优化成
SELECT * FROM t1 LEFT JOIN t2 ON t1.id = t2.id AND t2.id IN (SELECT t1.id
FROM t1 WHERE t1.a = x) WHERE t1.a = x
使用该优化后就避免了把整个t2 表拉成一个复制表。
参数取值含义说明
参数= 0 关闭;
参数= 1 启用。
该参数的默认值是0。
修改方式:
可使用set 语句修改值也可在配置文件中修改值。
适用于session、
global
范围均可。

修改config_task.xml 如下

GBase RTSync 同步工具手册
- 158 -
南大通用数据技术股份有限公司


id="server1"
mqType="kafka" queueName="orato8tMQ" dataRecoveryMode="auto"
isHighAvailable="false">
httpPort="8080" isTableHotPatch="true"/>
readParseAdapter="adapter" user="root" password="root" queueSize="10000"
openMonitor="true" monitorInterval="300" rpcPort="9191" sshPort="22"/>
writeDataAdapter="adapter" user="root" password="root"
errorishandle="true" sendDataBySocket="false" sshPort="22" rpcPort="9191"
monitorInterval="300"/>

id="ora_8t_5.1_5.2">

charset="utf8"
type="ORACLE"
startLSN="0"
fetchSize="500"
oracleScnStep="50000"
timestampWithFraction="false"
maxRecordsPerRead="200"
maxSizeOfPerRecord="1024"
timeOut="1"
driver="oracle.jdbc.driver.OracleDriver"
operationType="ddl_dml"
dyntal="true"
url="jdbc:oracle:thin:test/test@//192.168.5.6:1521/orcl"
user="test"
password="test"
catalog="TEST">


GBase RTSync 同步工具手册
南大通用数据技术股份有限公司
- 159 -
charset="UTF8"
type="GBASE8T"
commitSize="100"
queueSize="20000"
user="informix"
password="1"
driver=" com.informix.jdbc.IfxDriver "
catalog="testdb"
timeOut="2"
url="jdbc:informix-sqli://192.168.5.4:31267/testdb:informixserver=ol
_informix1210"
>


sourcePkColName="" targetTableName="" targetPkColName="" dyncol="true"
/>
sourcePkColName="" targetTableName="t2" targetPkColName="" />
sourcePkColName="" targetTableName="table_lsn" targetPkColName="" />






通过配置如上三个参数便开启了ddl+dml 的数据同步功能,其他配置文件及启
动方式同【6.3 GBase 8t 到GBase 8t 增量同步】一样,参考该章节即可。

GBase RTSync 同步工具手册
- 160 -
南大通用数据技术股份有限公司

Statement was not prepared
SQL 语句还未准备好。
如果您在 SQL 语句中使用主机变量
(例如,
insert into mytab values
(?, ?);,则在执行该语句前,必须使用connection.prepareStatement() 准备此 SQL 语句。