标记语句
要快速识别查询和其他操作以进行分析和调试,请包含 LABEL 提示。
LABEL 提示在以下语句中有效:
- COPY
- DELETE
-
EXPORT 语句:
- INSERT
- MERGE
- SELECT
- UPDATE
-
UNION:在 UNION 的第一个 SELECT 语句中有效。Vertica 会忽略后续 SELECT 语句中的标签。
例如:
SELECT /*+label(myselectquery)*/ COUNT(*) FROM t;
INSERT /*+label(myinsertquery)*/ INTO t VALUES(1);
向一个或多个语句添加标签后,查询 QUERY_PROFILES 系统表,以查看哪些查询是使用您提供的标签运行的。QUERY_PROFILES 系统表 IDENTIFIER 列返回您之前分配给语句的用户定义标签。您还可以获取其他特定于查询的数据,这些数据可用于查询其他系统表,例如事务 ID。
例如:
=> SELECT identifier, query FROM query_profiles;
identifier | query
---------------+-----------------------------------------------------------
myselectquery | SELECT /*+label(myselectquery)*/ COUNT(*) FROM t;
myinsertquery | INSERT /*+label(myinsertquery)*/ INTO t VALUES(1);
myupdatequery | UPDATE /*+label(myupdatequery)*/ t SET a = 2 WHERE a = 1;
mydeletequery | DELETE /*+label(mydeletequery)*/ FROM t WHERE a = 1;
| SELECT identifier, query from query_profiles;
(5 rows)