返回首页

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

更新日期:2024年09月11日

功能说明
TRUNCATE TABLE 在功能上与不带WHERE 子句的DELETE 语句相同,
二者均
删除表中的全部行。
但TRUNCATE TABLE 比DELETE 速度快,
且使用的系统资
源和事务日志资源少。
TRUNCATE TABLE 属于DDL 语法,
DELETE FROM table_name 属于DML 语法。
TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不
变。
语法格式
TRUNCATE TABLE [vc_name.][database_name.]table_name
表5- 59 参数说明
参数名称


vc_name
虚拟集群名称,可选项;
database_name
是要删除表隶属的数据库名称,可选项;省略此参数,即为
USE database_name 后的数据库名称。
table_name
是要删除其全部行的表的名称。
示例
示例1:删除表t 中的所有数据。
gbase> USE test;
Query OK, 0 rows affected
gbase> CREATE TABLE t (a decimal(12,5) DEFAULT NULL, KEY idx_a (a)

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
985
USING HASH global);
Query OK, 0 rows affected
gbase> INSERT INTO t VALUES(1),(2),(3);
Query OK, 3 rows affected
Records: 3
Duplicates: 0
Warnings: 0
gbase> SELECT * FROM t;
+---------+
| a
|
+---------+
| 1.00000 |
| 2.00000 |
| 3.00000 |
+---------+
3 rows in set
gbase> TRUNCATE TABLE t;
Query OK, 3 rows affected
gbase> SELECT * FROM t;
Empty set

环境变量
下表罗列客户机 JDBC 驱动程序支持的大多数 GBase 8s 环境变量。对于服务器侧 JDBC,
请使用数据库 URL 中的参数设置,而不设置环境变量,因为环境变量会应用于数据库服
务器中运行的所有程序。要获取更多关于属性的信息,请参阅 指定属性。
要了解提供全球化特性的环境变量列表,请参阅 全球化和日期格式。要了解用于故障排除
的环境变量列表,请参阅 调优和故障排除。
受支持的 GBase 8s 环境变量
描述
APPENDISAM
当设置为 TRUE 时,
APPENDISAM 环境变量将 ISAM
错误代码和消息
(如果出现的话)
附加至 SQL 异常消
息,当调用 SQL 异常
的 .toString() 或 .getMessage() 时展示。以
下列格式展示该异常消息:
()
ISAM error: ()
CSM
指定要使用的“通讯支持模块”。 GBase 8s JDBC
Driver 3.0 和后来的版本支持加密 CSM。要获取更
多信息,请参阅 加密选项。
DBANSIWARN
当设置为 1 时,请检查对 ANSI 标准语法
的 GBase 8s 扩展
DBSPACETEMP
指定在其中构建临时表的 dbspace
DBTEMP
指定您想要 GBase 8s Enterprise Gateway 产品将

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 30 -
受支持的 GBase 8s 环境变量
描述
它们的临时文件和临时表置于其内的目录的完整路径
名称。
驱动程序不使用此变量;它只是将该值传至服务器。
DBUPSPACE
当它在 sqexplain.out 文件中构建多列分布,
或者
以索引排序,以及或者为计算列分布来保存规划时,
指定 UPDATE STATISTICS 语句可用于行排序所需的
磁盘空间和内存的数量。
DELIMIDENT
当设置为 Y 时,
指定由双引号划分的字符串为定界
的标识符
ENABLE_TYPE_CACHE
当设置为 TRUE 时,为 opaque、distinct 或 row
数据类型高速缓存数据类型信息。
当 Struct 或 SQLData 对象将数据插入至列内,
且 getSQLTypeName() 返回类型名称时,驱动程序
使用高速缓存了的信息,而不是查询数据库服务器。
ENABLE_HDRSWITCH
当设置为 TRUE 时,如果主服务器不可用,则使用
辅助服务器属性来连接至辅助服务器。
FET_BUF_SIZE
对于除大对象之外的所有数据,覆盖访存缓冲区大小
的缺省设置
缺省大小为 4096 字节。在服务器侧 JDBC 中不支持
此变量。
IFX_AUTOFREE
当设置为 1 时,
如果在数据库服务器中已关闭了游
标,
则指定 Statement.close() 方法不需要网络往
返地释放数据库服务器游标资源。
在由 ResultSet.close() 方法显式地关闭游标之
后,
或通过 OPTOFC 环境变量隐式地关闭游标之后,
数据库服务器自动释放游标资源。在已释放了游标资

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 31 -
受支持的 GBase 8s 环境变量
描述
源之后,不可再引用该游标。要获取更多信息,请参
阅 “自动释放”特性。
IFX_BATCHUPDATE_PER_SPEC
当设置为 1(缺省值)时,返回 SQL 语句影响的行
数,通过 executeBatch() 方法,在批量操作中执
行该语句
IFX_CODESETLOB
如果设置为大于或等于 0 的数值,
则在客户机与数据
库语言环境之间自动进行 TEXT 与 CLOB 数据类型的
代码集转换。此变量的值确定是在内存中还是在临时
文件中来进行代码集转换。如果设置为 0,则代码集
转换使用临时文件。
如果设置为大于 0 的值,
则代码
集转换发生在客户机计算机的内存中,且该值表示为
转换分配的内存字节数。
要获取更多信息,
请参阅 使
用 IFX_CODESETLOB 环境变量转换。
IFX_DIRECTIVES
确定优化器是否允许来自查询内的查询优化伪指令。
在客户机上设置此值。驱动程序不使用此变量;它只
是将该值传至服务器。
IFX_EXTDIRECTIVES
指定查询优化器是否允许将来
自 sysdirectives 系统目录表的外部查询优化伪
指令应用于现有的应用程序中。 缺省值为 OFF。可
能的值:
ON
接受外部优化器伪指令
OFF
不接受外部优化器伪指令
1
接受外部优化器伪指令
0
不接受外部优化器伪指令
IFX_GET_SMFLOAT_AS_FLOAT
当设置为 0
(缺省值)
时,
将 GBase
8s SMALLFLOAT

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 32 -
受支持的 GBase 8s 环境变量
描述
数据类型映射至 JDBC REAL 数据类型。此设置符合
JDBC 规范。当设置为 1 时,将 GBase
8s SMALLFLOAT 数据类型映射至 JDBC FLOAT 数据
类型。此设置使得能够与较早版本的 GBase
8s
JDBC
Driver 相兼容。
IFX_ISOLATION_LEVEL
定义在尝试同时访问同一行的进程之中的并发程度。
取得 IFX_ISOLATION_LEVEL 变量的值,其特定
于 GBase 8s 。缺省值为 2(Committed Read)。
如果显式地设置了该值,则它返回设置的值。返回:
整数。
设置 IFX_ISOLATION_LEVEL 变量的值,其特定
于 GBase 8s 。可能的值:
0
等同于 TRANSACTION_NONE
1
Dirty Read (等同
于 TRANSACTION_READ_UNCOMMITTED),
2
Committed Read(等同
于 TRANSACTION_READ_COMMITTED),
3
Cursor Stability(等同
于 TRANSACTION_READ_COMMITTED),
4
Repeatable Read(等同

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 33 -
受支持的 GBase 8s 环境变量
描述
于 TRANSACTION_REPEATABLE_READ)
5
Committed Read LAST COMMITTED(等同于
TRANSACTION_LAST_COMMITTED)
8
等同于 TRANSACTION_SERIALIZABLE
在模式之后指定 U 意味着保留更新锁。
(请参阅表后
的重要说明。)例如,值会为:2U(等同于 SET
ISOLATION TO COMMITTED READ RETAIN UPDATE LOCKS)

下列示例展示您将用于指定隔离级别的代码:
conn.setTransactionIsolation
(IfxConnection.TRANSACTION_LAST_COMMITTED);
IFX_FLAT_UCSQ
覆盖全局设置,并指导优化器对所有会话使用子查询
扁平化。缺省值为 1。
IFX_LOCK_MODE_WAIT
应用程序可使用此属性来覆盖用于访问锁定的行或表
的缺省服务器进程。取得 IFX_LOCK_MODE_WAIT 变量
的值,其特定于 GBase 8s 。缺省值为 0(不等待
锁)。如果显式地设置了该值,则它返回设置的值。
返回:整数。
设置 IFX_LOCK_MODE_WAIT 变量的值,其特定
于 GBase 8s 。可能的值:
-1
等待,直到释放锁为止。
0

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 34 -
受支持的 GBase 8s 环境变量
描述
不等待,结束操作,并返回错误。
nn
等待释放锁 nn 秒。
IFX_PAD_VARCHAR
当使用 Connection 类时,
可在连接 URL 上设置,

当使用 DataSource 类时,设置作为属性。有效值
为 0(缺省值)和 1。

当设置为 0 时,仅传送包含数据的 VARCHAR
的一部分(截去后跟的空格)。

当设置为 1 时,
将整个 VARCHAR 数据结构在
服务器间传送。
IFX_SET_FLOAT_AS_SMFLOAT
当设置为 0(缺省值)时,将 JDBC
FLOAT 数据类型
映射至 GBase 8s FLOAT 数据类型。此设置符合
JDBC 规范。当设置为 1 时,将 JDBC FLOAT 数据
类型映射至 GBase
8s SMALLFLOAT 数据类型。此设
置使得能够与较早版本的 GBase 8s JDBC
Driver 兼容。
IFX_TRIMTRAILINGSPACES
移除后跟的空格。缺省值为 1。
IFX_USEPUT
当设置为 1 时,启用批量插入。要获取更多信息,
请参阅 执行批量插入。
IFX_XASPEC
当设置为 y 时,紧密地结合带有相同全局 ID 的
XA 事务,并分享锁空间。这仅适用于 XA 连接,且不
可在数据库 URL 中指定。
通过 DataSource setter
(请参阅 DataSource 扩展)

或通过设置带有相同
名称的 System (JVM) 属性,可设置它。
DataSource 属性覆盖 System 属性。忽略y、Y、
n 或 N 之外的属性值。
IfxDataSource.getIfxIFX_XASPEC 返回最终的

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 35 -
受支持的 GBase 8s 环境变量
描述
IFX_SPEC 值,其或为 y 或为 n。例如,如果
DataSource IFX_XASPEC 的值等于 n 且
System IFX_XASPEC 的值等于 Y 或 y,则返
回 n。
IFX_XASTDCOMPLIANCE_XAEND
当返回 XA_RB* 时,指定 XA_END 的行为。
0
不忘记 XID。事务处于 Rollback Only 状态。这
符合 XA_SPEC+,且是 GBase 8s的默认行为。
1
忘记 XID。事务为 Nonexistent。
要获取更多信息,请参阅《GBase 8s SQL 指南:
参考》
DISABLE_B162428_XA_FIX (IDS 10.0)
ENABLE_B162428_XA_FIX (IDS 9.40)
IFXHOST
设置主机名称和主机 IP 地址
IFXHOST_SECONDARY
设置辅助主机名称和主机 IP 地址,
用于 HDR 连接重
定向
GBASEDBTCONRETRY
指定附加的连接尝试的最大数,在
由 GBASEDBTCONTIME 的值指定的时间限制期间,

户机可尝试连接至每一数据库服务器
GBASEDBTCONTIME
为连接至数据库服务器的尝试设置超时期间。如果在
此期间连接尝试不成功,则终止尝试,并报告连接错
误。
缺省值为 0 秒。
此变量为阻塞 socket 方法以
及为 socket 连接添加超时。
GBASEDBTOPCACHE
为客户机应用程序的 staging-area blobspace 指定
内存高速缓存的大小
GBASEDBTSERVER
指定客户机应用程序对其进行显式或隐式连接的缺省

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 36 -
受支持的 GBase 8s 环境变量
描述
数据库服务器
GBASEDBTSERVER_SECONDARY
指定 HDR 对中的辅助数据库服务器,
如果主数据库服
务器不可用,则由客户机应用程序对其进行显式或隐
式连接。
GBASEDBTSTACKSIZE
指定以 KB 计的堆栈大小,数据库服务器将其用于特
殊的客户机会话
JDBCTEMP
指定在哪里创建用于处理智能大对象的临时文件。您
必须提供绝对路径名称。
LOBCACHE
确定从数据库服务器访存的大对象数据的缓冲区大
小。可能的值为:
大于 0 的数值
在内存中分配来保存数据的最大字节数。如果数
据大小超过 LOBCACHE 值,则将数据存储在临
时文件中;
如果在创建此文件期间发生安全违规,
则将数据存储在内存中。

始终将数据存储在文件中。如果发生安全违规,
则驱动程序不尝试在内存中存储数据。
负数
始终将数据存储在内存中。如果得不到所需的内
存量,则发生错误。
如果未指定 LOBCACHE 值,则缺省为 4096 字节。
LOGINTIMEOUT
确定 GBase 8s 数据库服务器是否正在运行。如果
服务器正在运行,则立即建立至服务器的连接。如果
服务器未运行,则此环境变量指定监听该服务器端口
多少毫秒,以建立连接。如果在指定的时间内,您的
应用程序未连接至 GBase 8s 数据库服务器,则返
回错误。
NEWNLSMAP
允许在 NLS 与 JDK 语言环境以及要定义的 JKD 代

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 37 -
受支持的 GBase 8s 环境变量
描述
码集之间映射。
要获取更多信息,请参阅 用户定义的语言环境。
NODEFDAC
当在未以 LOG
MODE
ANSI 创建了的数据库中创建新的
表或 UDR 时,
在缺省情况下,
防止 PUBLIC 组接收表
或例程权限。必需的 yes 设置是区分大小写的。
OPT_GOAL
指定优化器的查询性能目标。在启动应用程序之前,
请在用户环境中设置此变量。
驱动程序不使用此变量;
它只是将该值传给服务器。
OPTCOMPIND
指定查询优化器使用的连接方法
OPTOFC
当设置为 1 时,
如果在客户机元组缓冲区中已检索了
所有符合条件的行,
则 ResultSet.close() 方法不
需要网络往返。在检索了所有行之后,数据库服务器
自动关闭游标。在调用下一ResultSet.next() 方法
之前,在客户机元组缓冲区中,GBase 8s JDBC
Driver 可能没有附加的行。因此,除非 GBase 8s
JDBC Driver 已从数据库服务器接收了所有行,否
则,当设置 OPTOFC 为 1 时,
ResultSet.close() 方法可能仍需要网络往返。
PATH
为可执行程序指定要搜索的目录
PDQPRIORITY
确定数据库服务器使用的并行程度
PORTNO_SECONDARY
指定 HDR 对中辅助数据库服务器的端口号。
该端口号
罗列在 /etc/services 文件中。
PROXY
指定 HTTP 代理服务器。要获取更多信息,请参
阅 HTTP 代理服务器。
PSORT_DBTEMP
指定当执行排序时,数据库服务器将它使用的临时文
件写至的一个或多个目录
PSORT_NPROCS
通过为排序分配更多线程,来使得数据库服务器能够

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 38 -
受支持的 GBase 8s 环境变量
描述
提高并行处理排序包的性能
SECURITY
使用 56 位加密来将口令发送至服务器。要获取更多
信息,请参阅 口令加密。
SQLH_TYPE
当设置为 FILE 时,指定在 sqlhosts 文件中指定
的数据库信息(诸如 host-name、port-number、
user 和 password)。
当设置为 LDAP 时,指定在 LDAP 服务器中指定此信
息。要获取更多信息,请参阅 动态地读取 GBase
8s
sqlhosts 文件。
SQLIDEBUG
指定要将二进制 SQLI 踪迹写至其中的文件的路径名
称。为每个连接生成新的踪迹文件,并以时间戳做前
缀。
当受到 GBase 技术支持代表指导时,
请仅使用
SQLI 踪迹功能。
SRV_FET_BUF_SIZE
在与其他数据库服务器的分布式事务中,覆盖访存缓
冲区大小的缺省设置。例如,该访存缓冲区保存由跨
服务器分布式查询检索的数据。
STMT_CACHE
当设置为 1 时,
使得在会话中能够使用共享语句高速
缓存。
此特性可减少内存消耗,并提高不同用户会话之间的
查询处理速度。驱动程序不使用此变量;它只是将该
值传给服务器。
TRUSTED_CONTEXT
当设置为 TRUE 时,
从客户机发送受信的连接请求。
或者建立成功的受信连接,或者从服务器返回下列错
误:SQL Exception: -28021(Trusted Connection
request rejected.)
要获取特殊环境变量的详尽描述,请参阅 《GBase 8s SQL 指南:参考》。
代码示例 IFX_LOCK_MODE_WAIT 环境变量

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 39 -
IFX_LOCK_MODE_WAIT
Connection conn = DriverManager.getConnection ( "jdbc:GBASEDBT-sqli://cleo:1550:
GBASEDBTSERVER=cleo_921;IFXHOST=cleo;PORTNO=1550;user=rdtest;
password=my_passwd;
IFX_LOCK_MODE_WAIT=1";);
代码示例 IFX_ISOLATION_LEVEL 环境变量
IFX_ISOLATION_LEVEL
Connection conn = DriverManager.getConnection( "jdbc:GBASEDBT-sqli://cleo:1550:
GBASEDBTSERVER=cleo_921;IFXHOST=cleo;PORTNO=1550;user=rdtest;
password=my_passwd;
IFX_ISOLATION_LEVEL=1U";);
重要:
当它是至数据库的显式连接时,
可在 URL 中设置隔离属性。
对于仅限于服务器的连接,
在连接时刻忽略此属性。
代码示例 IFX_ISOLATION_LEVEL 环境变量
Connection conn = DriverManager.getConnection( "jdbc:gbasedbt-sqli://localhost:9088
/csdk_db:GBASEDBTSERVER=ol_ids_1150_1;user=gbasedbt;password=inform123;
LOGINTIMEOUT=60000";);

取值:[0,32768]
默认值:10240
说明:控制内存分配力度。
Insert select 和Insert values 操作字符串类型内部中间数据结构申请内存方
式控制参数。
如果字符串类型定义长度小于参数设置字节数,则按照定义长度
整DC 申请一次,否则每条申请一次内存(性能差)。
修改方式:可使用set 语句修改值。适用于session、global 范围均可。