返回首页

gbase数据、南大通用产品文档:GBase8soncheck pk 、pK 、pl 、pL:显示索引信息

更新日期:2024年09月11日

语法:

-pk 选项执行与 -ci 选项相同的检查,此外,在进行检查时,它还会显示所有指定的表中
的所有索引的键值。
-pK 选项执行与 -cI 选项相同的检查,此外,在进行检查时,它还会显示键值和 rowid 。

-pl 选项执行与 -ci 选项相同的检查,并显示键值,但它只检查叶节点索引页。它忽略根和
分支节点。
-pL 选项执行与 -cI 选项相同的检查,并显示键值和 rowid ,但它只检查叶节点索引页。
它忽略根和分支节点。
元素
用途
关键注意事项
database
指定要检查其一致性的数据
库名称
语法必须符合 Identifier 段;请参阅
《GBase 8s SQL 指南:语法》
index_name 指定要检查其一致性的索引
名称
索引必须存在于特定数据库中的表上。
语法必须符合 Identifier 段;请参阅
《GBase 8s SQL 指南:语法》
owner
指定表的所有者
必须指定表的当前所有者。
语法必须符合 Owner Name 段;请参阅
《GBase 8s SQL 指南:语法》

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

元素
用途
关键注意事项
table
指定想要检查其一致性的表
的名称
执行实用程序时,表应存在。
语法必须符合 Table Name 段;请参阅
《GBase 8s SQL 指南:语法》
-x
检查和打印索引时在表上放
置共享锁
更多完整信息,请参阅使用 -x 开启锁

如果任何一个 oncheck 选项检测到不一致,那么将会提示您确认修复问题索引。如果指定
了 -y (是)选项,那么自动修复索引。如果指定了 -n (否)选项,那么报告该问题,但
不进行修复;不出现任何提示。
以下示例显示有关 customer 表上所有索引的信息:
oncheck -pl -n stores_demo:customer
以下示例显示了有关索引 zip_ix 的信息,该索引时创建在 customer 表上的:
oncheck -pl -n stores_demo:customer#zip_ix
缺省情况下,当您使用 oncheck -pk 、-pK 、-pl 或 -pL 选项检查索引时,数据库服务器
不在表上放置共享锁,除非该表使用页锁定。要绝对确保完全的索引检查,可以在执行
oncheck –pk 、oncheck -pK 、oncheck -pl 或 oncheck -pL 时使用 -x 选项。使用 -x 选项,
oncheck 在表上放置共享锁,这样其他用户就不能在检查完成之前执行更新、删除或插入。
有关使用 -x 选项的更多信息,请参阅使用 -x 开启锁 。
有关更多 oncheck -ci 的信息,
请参阅 oncheck -ci 和 -cI: 检查索引节点链接。
有关索引页
的更多信息,请参阅 B-Tree 索引页的结构。

语法格式
该函数功能为全文检索对关键字的匹配程度所计算的分数,返回的值是全文查询
函数CONTAINS 查询结果的权重值,值的大小跟全文检索评估算法有关,权重
值越高则匹配度越高。GBase 8a MPP Cluster 全文检索的评估模式默认是BM25
算法,可以通过扩展选项"rank=tf"设置采用词频评估算法。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
942
INT SCORE(N)
表5- 47 参数说明
参数名称


INT
返回值为INT 类型,该数值为与其SCORE 标号一致的全文
查询函数CONTAINS 查询结果权重,
N
SCORE 标号,整数类型, 该数值应与当前查询语句的Where
子句中某一全文查询CONTAINS 函数的SCORE 标号一致。
注意

SCORE 函数只能用于投影列、
GROUP BY 和ORDER BY 子句中,
否则报
错。
gbase> SELECT *
FROM t WHERE contains(a ,' 中国',0) AND
score(0) >10;
ERROR 1149 (42000): score function can ONLY in SELECT, GROUP BY or
ORDER BY clause

如果没有与其SCORE 标号一致的全文查询函数CONTAINS,则报出错误
信息:
gbase> SELECT score(1) a1 FROM t WHERE contains(a ,'中国',0);
ERROR 1149 (42000): not match the number of score func

如果多个CONTAINS 函数的SCORE 标号均与其一致,则报出错误信息:
gbase> SELECT score(0) FROM t WHERE contains(b, 'abc' , 0) AND
contains(b, 'bcb' , 0);
ERROR 1210 (HY000): Incorrect arguments to CONTAINS FUNCTION -
SCORE FLAG COLLISION
示例
示例1:查询包含“南大”词组的短信并且按照score 分值倒排序。示例中第1 行
数据中权重值跟其他两行相比要高,因为第1 行查询“南大”命中了两次,其他
两行只命中了一次。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
943
gbase> INSERT INTO sms VALUES(1,1,'晚上去南大上英语课,
在南大主楼
115 房间');
Query OK, 1 row affected
gbase> INSERT INTO sms VALUES (1,1,'南大通用数据技术有限公司地
址:天津花苑产业区海泰发展6 号海泰J 座');
Query OK, 1 row affected
gbase> INSERT INTO sms VALUES (1,1,'南大开设java 编程培训班,
每周
五晚上7:00-9:00 上课');
Query OK, 1 row affected
gbase> SELECT score(1) AS score, MB_Text FROM sms WHERE conta
ins(MB_Text, '"南大"',1) ORDER BY score DESC;
+-------+----------------------------------------------------+
| score | MB_Text
|
+-------+----------------------------------------------------+
|
1511 | 晚上去南大上英语课,在南大主楼115 房间
|
|
1508 | 南大通用数据技术股份有限公司地址:...
|
|
1508 | 南大开设java 编程培训班,每周五晚上7:00-9:00 上课|
+-------+----------------------------------------------------+
3 rows in set

BackUp table vcname000001.test.t2 start
--------------------------------------------