返回首页

gbase数据、南大通用产品文档:GBase8s锁类型的行为

更新日期:2024年09月11日

GBase 8s 数据库服务器在内部的锁表中存储锁。当数据库服务器读行时,它检查该行或它
的相关联的页、表或数据库是否罗列在该锁表中。如果它在锁表中,则数据库服务器还必
须检查锁类型。锁表可包含下列类型的锁。
锁名

描述
通常放置该锁的语句
S
共享锁
SELECT
X
排他锁
INSERT、UPDATE、DELETE
U
更新锁
在更新游标中的 SELECT
B
字节锁
更新 VARCHAR 列的任何语句
此外,锁表可能存储意向锁。意向锁可为意向共享的(IS)、意向排他的(IX)或意向共
享排他的(SIX)。意向锁是当需要锁定较低颗粒度对象时,数据库服务器(锁管理器)放
置在较高颗粒度对象上的锁。例如,当用户以“共享的”锁定模式锁定行或页时,数据库
服务器在该表上放置 IS(意向共享的)锁来提供立即的检查,检查没有其他用户持有该表
上的 X 锁。在此情况下,仅在该表上放置意向锁,而不是放置在行或页上。仅可以行、页
或表级别放置意向锁。
用户不对意向锁进行直接的控制;锁管理器在内部管理所有的意向锁。
下表展示如果另一用户(或数据库服务器)持有某类型的锁,则用户(或数据库服务器)
可放置哪些锁。
例如,
如果一个用户持有对某项的排他锁,
另一用户请求任何种类的锁
(排

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 251 -

他的、更新或共享的)都会收到错误。此外,如果用户持有对一个项的排他锁,则数据库
服务器不能在该项上放置任何意向锁。

持有 X

持有 U

持有 S

持有 IS

持有 SIX

持有 IX

请求 X 锁






请求 U 锁






请求 S 锁






请求 IS 锁






请求 SIX 锁






请求 IX 锁






要获取关于锁定如何影响性能的信息,请参阅您的《GBase 8s 性能指南》。

词组查询操作符""
操作符含义
双引号""中的内容,会被看成一个词组来查询。
示例
例如:查询”南大”表示查询的内容中,包含南大这个词组(即包含南,大两个字并
且两字相邻,顺序为南大)。

功能
这个参数用于控制是否启用Hash 重分布的GROUP BY 模式。
参数取值含义说明

参数= 0 禁用。

参数= 1 启用。进行分组(group by)运算之前,将会把临时结果利用哈希
算法重分布到各个运算节点,再由各个节点进行分组运算。由于数据在分到
各个节点之前已经做了哈希,因此产生的结果直接汇总即可得到最终结果,
不再需要由汇总节点再做一次分组。
该参数的默认值是1。
表6- 13 参数值范围说明表
默认值
最小值
最大值
1
0
1
说明
当查询包含OLAP 函数、ORDER BY、LIMIT 时,无法使用本参数进行优化。