返回首页

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

更新日期:2024年09月11日

dbschema 输出中表的分发信息
带有表名的 dbschema -hd 命令会检索为数据库表存储的分发信息。如果
对表名指定了 ALL 关键字,那么将显示数据库中所有表的分发。
在 dbimport 操作执行过程中会为非不透明列中的主要索引自动创建分发
信息。以 MEDIUM 或 HIGH 方式运行 UPDATE STATISTICS 语句,以创建
有关包含以下索引类型的表的分发信息:

Virtual Index Interface (VII) 或功能索引

用户定义数据类型的列上的索引

内置的不透明数据类型的列上的索引(例如 BOOLEAN 或
LVARCHAR)
当 UPDATE STATISTICS 以 MEDIUM 或 HIGH 方式对表运行时,如果
您使用了 SAMPLING SIZE 关键字,
那么 dbschema 实用程序的输出将显示分
发信息。
有关 UPDATE STATISTICS 语句的信息,请参阅《GBase 8s SQL 指南:
语法》

分发的 dbschema 的输出在以下部分中提供:

分发描述




分发信息

溢出信息
dbschema 输出的各部分将在以下各节解释。作为示例,讨论使用以下名
为 invoices 的虚构表的分发。此表包含 165 行(包括重复的行)

您可使用与以下示例类似的方法调用 dbschema 生成本讨论的输出:
dbschema -hd invoices -d pubs_stores_demo

数据库和文件之间的另一个差异是数据库的组织方式是与数据库一起存储的。
文件可能具有复杂的内部结构,但该结构的定义不在该文件中;结构的定义在创建或使用
文件的程序中。例如:字处理程序存储的文档文件可能包含描述文档格式的详细结构。但
是,只有字处理程序能够译解该文件的内容,因为结构是在程序而不是文件中定义的。
然而,数据模型包含在它描述的数据库中。它与数据库融为一体。并且可用于使用该数据
库的任何程序。模型不但定义数据项的名称,而且定义数据项的数据类型,因此程序可以
使它自己适应该数据库。例如:某个程序可发现在当前数据库中,价格项是八位数的十进
制数,
小数点右边有两位数;
于是它可为该类型的数分配存储器。
在 SQL 编程和通过 SQL
程序修改数据中讨论了程序如何使用数据库的主题。

以下两个配置文件参数是特定于分布式环境的:

DEADLOCK_TIMEOUT

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 505 -

TXTIMEOUT
虽然两个参数都指定了超时周期,但它们是互相独立的。有关这些配置参数的更多信息,
请参阅《GBase 8s 管理员参考》。
DEADLOCK_TIMEOUT 参数的功能
如果强制分布式事务等待共享内存资源的时间超过 DEADLOCK_TIMEOUT 指定的秒
数,那么拥有事务的线程会假设存在多服务器死锁。会返回以下错误消息:
-154 ISAM error: deadlock timeout expired - Possible deadlock.
DEADLOCK_TIMEOUT 的缺省值为 60 秒。调整该值时要小心。如果把该值设置得过
低,各个数据库服务器会结束那些非死锁的事务。如果把该值设置得过高,那么多服务器
死锁可能会减少并发性。
TXTIMEOUT 参数的功能
TXTIMEOUT 配置参数特定于两阶段落实协议。仅当事务协调者和参与者之间的通信被
中断,并且必须重新建立时,才使用该参数。
TXTIMEOUT 参数指定参与者数据库服务器在分布式事务期间等待接收来自协调者数据
库服务器的 commit 指令的时间段。如果过了 TXTIMEOUT 指定的时间段,那么参与者
数据库服务器会检查事务的状态以确定参与者是否必须启动自动参与者恢复。
TXTIMEOUT 以秒为单位指定。缺省值为 300(5 分钟)。该参数的最佳值将根据您的
特定环境和应用程序而变化。修改此参数之前,请阅读两阶段落实协议如何处理故障中的
说明。