- 最新动态
- 功能总览
- 服务公告
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
-
开发指南
-
开发指南(分布式_V2.0-8.x)
- 数据库系统概述
- 数据库安全
- 数据库使用入门
- 开发设计建议
-
应用程序开发教程
- 开发规范
- 获取驱动包
-
基于JDBC开发
- JDBC包、驱动类和环境类
- 开发流程
- 加载驱动
- 连接数据库
- 连接数据库(以SSL方式)
- 连接数据库(UDS方式)
- 连接数据库(以国密TLS方式)
- 执行SQL语句
- 处理结果集
- 关闭数据库连接
- 日志管理
- 示例:常用操作
- 示例:重新执行应用SQL
- 示例:逻辑复制代码示例
- 示例:不同场景下连接数据库参数配置
-
JDBC接口参考
- java.sql.Connection
- java.sql.CallableStatement
- java.sql.DatabaseMetaData
- java.sql.Driver
- java.sql.PreparedStatement
- java.sql.ResultSet
- java.sql.ResultSetMetaData
- java.sql.Statement
- javax.sql.ConnectionPoolDataSource
- javax.sql.DataSource
- javax.sql.PooledConnection
- javax.naming.Context
- javax.naming.spi.InitialContextFactory
- CopyManager
- PGReplicationConnection
- PGReplicationStream
- ChainedStreamBuilder
- ChainedCommonStreamBuilder
- JDBC常用参数参考
- 常见问题处理
- JDBC数据类型映射关系
- 基于ODBC开发
- 基于libpq开发
- 基于Psycopg开发
- 基于ecpg开发
- 基于Go驱动开发
- 兼容性参考
- 调试
-
SQL调优指南
- Query执行流程
- SQL执行计划介绍
- 调优流程
- 更新统计信息
- 审视和修改表定义
- 典型SQL调优点
- 经验总结:SQL语句改写规则
- SQL调优关键参数调整
-
使用Plan Hint进行调优
- Plan Hint调优概述
- 指定Hint所处的查询块Queryblock
- Hint可以指定表的查询块名和schema名
- Join顺序的Hint
- Join方式的Hint
- 行数的Hint
- Stream方式的Hint
- Scan方式的Hint
- 子链接块名的hint
- 运行倾斜的Hint
- 参数化路径的Hint
- Hint的错误、冲突及告警
- Plan Hint实际调优案例
- 优化器GUC参数的Hint
- Custom Plan和Generic Plan选择的Hint
- 指定子查询不展开的Hint
- 指定不使用全局计划缓存的Hint
- 同层参数化路径的Hint
- 设置慢SQL管控规则的Hint
- 支持bitmapscan的Hint
- 连接时内表物化的Hint
- 指定agg算法的Hint
- 查询改写的Hint
- 指定Any子链接提升的Hint
- 指定扫描并行度的Hint
- 指定是否使用Semi Join的Hint
- 指定是否使用minmax优化的hint
- 指定是否使用partition-wise scan优化的hint
- 检查隐式转换的性能问题
- 使用向量化执行引擎进行调优
- 使用SQL PATCH进行调优
- 实际调优案例
-
SQL参考
- GaussDB SQL
- 关键字
- 数据类型
- 字符集与字符序
- 常量与宏
-
函数和操作符
- 逻辑操作符
- 比较操作符
- 字符处理函数和操作符
- 二进制字符串函数和操作符
- 位串函数和操作符
- 模式匹配操作符
- 数字操作函数和操作符
- 时间和日期处理函数和操作符
- 类型转换函数
- 几何函数和操作符
- 网络地址函数和操作符
- 文本检索函数和操作符
- JSON/JSONB函数和操作符
- HLL函数和操作符
- SEQUENCE函数
- 数组函数和操作符
- 范围函数和操作符
- 聚集函数
- 窗口函数
- 安全函数
- 账本数据库的函数
- 密态函数和操作符
- 返回集合的函数
- 条件表达式函数
- 系统信息函数
- 系统管理函数
- SPM计划管理函数
- 统计信息函数
- 触发器函数
- HashFunc函数
- 提示信息函数
- 故障注入系统函数
- 重分布函数
- 分布列推荐函数
- 其他系统函数
- 内部函数
- AI特性函数
- 敏感数据发现函数
- 动态数据脱敏函数
- 层次递归查询函数
- hotkey特性函数
- Global SysCache特性函数
- 数据损坏检测修复函数
- XML类型函数
- XMLTYPE类型函数
- 数据透视函数
- Global Plsql Cache特性函数
- 通用标识符函数
- SQL限流函数
- 多租数据库函数
- 废弃函数
- 表达式
- 伪列
- 类型转换
- 系统操作
- 事务控制
-
SQL语法
- SQL语法格式说明
- DCL语法一览表
- DDL语法一览表
- DML语法一览表
- 其他语法一览表
- Online DDL及其操作
-
A
- ABORT
- ALTER AGGREGATE
- ALTER AUDIT POLICY
- ALTER COLUMN ENCRYPTION KEY
- ALTER COORDINATOR
- ALTER DATABASE
- ALTER DATABASE LINK
- ALTER DEFAULT PRIVILEGES
- ALTER DIRECTORY
- ALTER FOREIGN DATA WRAPPER
- ALTER FOREIGN TABLE
- ALTER FUNCTION
- ALTER GLOBAL CONFIGURATION
- ALTER GROUP
- ALTER INDEX
- ALTER LANGUAGE
- ALTER MASKING POLICY
- ALTER MATERIALIZED VIEW
- ALTER NODE
- ALTER NODE GROUP
- ALTER PACKAGE
- ALTER PROCEDURE
- ALTER RESOURCE LABEL
- ALTER RESOURCE POOL
- ALTER ROLE
- ALTER ROW LEVEL SECURITY POLICY
- ALTER SCHEMA
- ALTER SEQUENCE
- ALTER SERVER
- ALTER SESSION
- ALTER SYNONYM
- ALTER SYSTEM KILL SESSION
- ALTER TABLE
- ALTER TABLE PARTITION
- ALTER TABLESPACE
- ALTER TRIGGER
- ALTER TYPE
- ALTER USER
- ALTER VIEW
- ANALYZE | ANALYSE
- B
-
C
- CALL
- CHECKPOINT
- CLEAN CONNECTION
- CLOSE
- CLUSTER
- COMMENT
- COMMIT | END
- COMMIT PREPARED
- COPY
- CREATE AGGREGATE
- CREATE AUDIT POLICY
- CREATE BARRIER
- CREATE CLIENT MASTER KEY
- CREATE COLUMN ENCRYPTION KEY
- CREATE CONVERSION
- CREATE DATABASE
- CREATE DATABASE LINK
- CREATE DIRECTORY
- CREATE EXTENSION
- CREATE FOREIGN DATA WRAPPER
- CREATE FOREIGN TABLE
- CREATE FUNCTION
- CREATE GLOBAL INDEX
- CREATE GROUP
- CREATE INCREMENTAL MATERIALIZED VIEW
- CREATE INDEX
- CREATE LANGUAGE
- CREATE MASKING POLICY
- CREATE MATERIALIZED VIEW
- CREATE MODEL
- CREATE NODE
- CREATE NODE GROUP
- CREATE PACKAGE
- CREATE PROCEDURE
- CREATE RESOURCE LABEL
- CREATE RESOURCE POOL
- CREATE ROLE
- CREATE ROW LEVEL SECURITY POLICY
- CREATE SCHEMA
- CREATE SECURITY LABEL
- CREATE SEQUENCE
- CREATE SERVER
- CREATE SYNONYM
- CREATE TABLE
- CREATE TABLESPACE
- CREATE TABLE AS
- CREATE TABLE PARTITION
- CREATE TABLE PARTITION AS
- CREATE TRIGGER
- CREATE TYPE
- CREATE USER
- CREATE VIEW
- CREATE WEAK PASSWORD DICTIONARY
- CURSOR
-
D
- DEALLOCATE
- DECLARE
- DELETE
- DO
- DROP AGGREGATE
- DROP AUDIT POLICY
- DROP CLIENT MASTER KEY
- DROP COLUMN ENCRYPTION KEY
- DROP DATABASE
- DROP DATABASE LINK
- DROP DIRECTORY
- DROP EXTENSION
- DROP FOREIGN DATA WRAPPER
- DROP FOREIGN TABLE
- DROP FUNCTION
- DROP GLOBAL CONFIGURATION
- DROP GROUP
- DROP INDEX
- DROP LANGUAGE
- DROP MASKING POLICY
- DROP MATERIALIZED VIEW
- DROP MODEL
- DROP NODE
- DROP NODE GROUP
- DROP OWNED
- DROP PACKAGE
- DROP PROCEDURE
- DROP RESOURCE LABEL
- DROP RESOURCE POOL
- DROP ROLE
- DROP ROW LEVEL SECURITY POLICY
- DROP SCHEMA
- DROP SECURITY LABEL
- DROP SEQUENCE
- DROP SERVER
- DROP SYNONYM
- DROP TABLE
- DROP TABLESPACE
- DROP TRIGGER
- DROP TYPE
- DROP USER
- DROP VIEW
- DROP WEAK PASSWORD DICTIONARY
- E
- F
- G
- I
- L
- M
- P
- R
- S
- T
- U
- V
- 附录
- 最佳实践
- 用户自定义函数
- 存储过程
- 自治事务
-
系统表和系统视图
- 系统表和系统视图概述
-
系统表
- 分区表
- 负载管理
- OLTP表压缩
- 密态等值查询
- 通信
- 账本数据库
- SPM计划管理
- AI
- 审计
- 用户和权限管理
- 连接和认证
- 动态脱敏
- DATABASE LINK
- 物化视图
- 逻辑解码
- 多租数据库
-
其他系统表
- GS_ASP
- PGXC_COPY_ERROR_LOG
- GS_DEPENDENCIES
- GS_DEPENDENCIES_OBJ
- GS_IMCV
- GS_GLOBAL_CONFIG
- GS_JOB_ATTRIBUTE
- GS_JOB_ARGUMENT
- GS_PACKAGE
- GS_PLAN_TRACE
- GS_POLICY_LABEL
- GS_RECYCLEBIN
- GS_SECURITY_LABEL
- GS_SQL_PATCH
- GS_STATISTIC_EXT_HISTORY
- GS_STATISTIC_HISTORY
- GS_TABLESTATS_HISTORY
- GS_TS_DICT_DEFINITION
- GS_TXN_SNAPSHOT
- GS_UID
- GS_WORKLOAD_RULE
- PG_AGGREGATE
- PG_AM
- PG_AMOP
- PG_AMPROC
- PG_ATTRDEF
- PG_ATTRIBUTE
- PG_CAST
- PG_CLASS
- PG_COLLATION
- PG_CONSTRAINT
- PG_CONVERSION
- PG_DATABASE
- PG_DEPEND
- PG_DESCRIPTION
- PG_DIRECTORY
- PG_ENUM
- PG_EXTENSION
- PG_FOREIGN_DATA_WRAPPER
- PG_FOREIGN_SERVER
- PG_FOREIGN_TABLE
- PG_HASHBUCKET
- PG_INDEX
- PG_INHERITS
- PG_JOB
- PG_JOB_PROC
- PG_LANGUAGE
- PG_LARGEOBJECT
- PG_LARGEOBJECT_METADATA
- PG_NAMESPACE
- PG_OBJECT
- PG_OPCLASS
- PG_OPERATOR
- PG_OPFAMILY
- PG_PLTEMPLATE
- PG_PROC
- PG_RANGE
- PG_REPLICATION_ORIGIN
- PG_RESOURCE_POOL
- PG_REWRITE
- PG_SET
- PG_SHDEPEND
- PG_SHDESCRIPTION
- PG_STATISTIC
- PG_STATISTIC_EXT
- PG_SYNONYM
- PG_TABLESPACE
- PG_TRIGGER
- PG_TS_CONFIG
- PG_TS_CONFIG_MAP
- PG_TS_DICT
- PG_TS_PARSER
- PG_TS_TEMPLATE
- PG_TYPE
- PGXC_CLASS
- PGXC_GROUP
- PGXC_SLICE
- PLAN_TABLE_DATA
- STATEMENT_HISTORY
- STREAMING_STREAM
- STREAMING_CONT_QUERY
-
系统视图
-
分区表
- ADM_IND_PARTITIONS
- ADM_IND_SUBPARTITIONS
- ADM_PART_COL_STATISTICS
- ADM_PART_INDEXES
- ADM_PART_TABLES
- ADM_SUBPART_KEY_COLUMNS
- ADM_TAB_PARTITIONS
- DB_IND_PARTITIONS
- DB_IND_SUBPARTITIONS
- DB_PART_COL_STATISTICS
- DB_PART_KEY_COLUMNS
- DB_PART_TABLES
- DB_SUBPART_KEY_COLUMNS
- DB_TAB_PARTITIONS
- DB_TAB_SUBPARTITIONS
- MY_IND_PARTITIONS
- MY_IND_SUBPARTITIONS
- MY_PART_COL_STATISTICS
- MY_PART_INDEXES
- MY_PART_KEY_COLUMNS
- MY_PART_TABLES
- MY_SUBPART_KEY_COLUMNS
- MY_TAB_PARTITIONS
- GS_STATIO_ALL_PARTITIONS
- GS_STAT_XACT_ALL_PARTITIONS
- GS_STAT_ALL_PARTITIONS
- 负载管理
- OLTP表压缩
-
通信
- COMM_CLIENT_INFO
- GLOBAL_COMM_CLIENT_INFO
- GS_COMM_LISTEN_ADDRESS_EXT_INFO
- GS_GET_LISTEN_ADDRESS_EXT_INFO
- GS_LIBCOMM_FD_INFO
- GS_LIBCOMM_MEMORY_INFO
- GS_STATIC_THREADPOOL_CTRL_STATUS
- PG_COMM_DELAY
- PG_COMM_RECV_STREAM
- PG_COMM_SEND_STREAM
- PG_COMM_STATUS
- PG_GET_INVALID_BACKENDS
- PG_POOLER_STATUS
- PGXC_COMM_DELAY
- PGXC_COMM_RECV_STREAM
- PGXC_COMM_SEND_STREAM
- PGXC_COMM_STATUS
-
段页式存储
- GLOBAL_GS_SEG_DATAFILES
- GLOBAL_GS_SEG_EXTENTS
- GLOBAL_GS_SEG_SEGMENTS
- GLOBAL_GS_SEG_SPC_EXTENTS
- GLOBAL_GS_SEG_SPC_SEGMENTS
- GS_SEG_DATAFILES
- GS_SEG_DATAFILE_LAYOUT
- GS_SEG_EXTENTS
- GS_SEG_SEGMENTS
- GS_SEG_SEGMENT_LAYOUT
- GS_SEG_SPC_EXTENTS
- GS_SEG_SPC_SEGMENTS
- GS_SEG_SPC_REMAIN_EXTENTS
- GS_SEG_SPC_REMAIN_SEGMENTS
- SPM计划管理
- 审计
-
用户和权限管理
- ADM_COL_PRIVS
- ADM_ROLE_PRIVS
- ADM_ROLES
- ADM_SYS_PRIVS
- ADM_TAB_PRIVS
- ADM_USERS
- DB_COL_PRIVS
- DB_DIRECTORIES
- DB_TAB_PRIVS
- DB_USERS
- GS_DB_PRIVILEGES
- GS_LABELS
- MY_COL_PRIVS
- MY_ROLE_PRIVS
- MY_SYS_PRIVS
- PG_RLSPOLICIES
- GS_RLSPOLICIES
- PG_ROLES
- GS_ROLES
- PG_SECLABELS
- GS_SECLABELS
- PG_SHADOW
- GS_SHADOW
- PG_USER
- GS_USER
- PG_USER_MAPPINGS
- ROLE_ROLE_PRIVS
- ROLE_SYS_PRIVS
- ROLE_TAB_PRIVS
- 动态脱敏
- DATABASE LINK
- 物化视图
- 多租数据库
-
其他系统视图
- ADM_ARGUMENTS
- ADM_COL_COMMENTS
- ADM_COLL_TYPES
- ADM_CONS_COLUMNS
- ADM_CONSTRAINTS
- ADM_DATA_FILES
- ADM_DEPENDENCIES
- ADM_DIRECTORIES
- ADM_HIST_SNAPSHOT
- ADM_HIST_SQL_PLAN
- ADM_HIST_SQLSTAT
- ADM_HIST_SQLTEXT
- ADM_IND_COLUMNS
- ADM_IND_EXPRESSIONS
- ADM_INDEXES
- ADM_OBJECTS
- ADM_PROCEDURES
- ADM_SCHEDULER_JOB_ARGS
- ADM_SCHEDULER_JOBS
- ADM_SCHEDULER_PROGRAM_ARGS
- ADM_SCHEDULER_PROGRAMS
- ADM_SCHEDULER_RUNNING_JOBS
- ADM_SEGMENTS
- ADM_SEQUENCES
- ADM_SOURCE
- ADM_SYNONYMS
- ADM_TAB_COL_STATISTICS
- ADM_TAB_COLS
- ADM_TAB_COLUMNS
- ADM_TAB_COMMENTS
- ADM_TAB_HISTOGRAMS
- ADM_TAB_STATISTICS
- ADM_TAB_STATS_HISTORY
- ADM_TABLES
- ADM_TABLESPACES
- ADM_TRIGGERS
- ADM_TYPE_ATTRS
- ADM_TYPES
- ADM_VIEWS
- DB_ARGUMENTS
- DB_ALL_TABLES
- DB_COL_COMMENTS
- DB_COLL_TYPES
- DB_CONS_COLUMNS
- DB_CONSTRAINTS
- DB_DEPENDENCIES
- DB_IND_COLUMNS
- DB_IND_EXPRESSIONS
- DB_INDEXES
- DB_OBJECTS
- DB_PROCEDURES
- DB_SCHEDULER_JOB_ARGS
- DB_SCHEDULER_PROGRAM_ARGS
- DB_SEQUENCES
- DB_SOURCE
- DB_SYNONYMS
- DB_TAB_COL_STATISTICS
- DB_TAB_COLUMNS
- DB_TAB_COMMENTS
- DB_TAB_HISTOGRAMS
- DB_TAB_MODIFICATIONS
- DB_TAB_STATS_HISTORY
- DB_TABLES
- DB_TRIGGERS
- DB_TYPES
- DB_VIEWS
- DICT
- DICTIONARY
- DUAL
- DV_SESSIONS
- DV_SESSION_LONGOPS
- GET_GLOBAL_PREPARED_XACTS
- GLOBAL_BAD_BLOCK_INFO
- GLOBAL_CLEAR_BAD_BLOCK_INFO
- GLOBAL_SQL_PATCH
- GLOBAL_STAT_HOTKEYS_INFO
- GLOBAL_WAL_SENDER_STATUS
- GS_ALL_CONTROL_GROUP_INFO
- GS_ALL_PREPARED_STATEMENTS
- GS_BUCKET_LOCKS
- GS_GET_CONTROL_GROUP_INFO
- GS_GLOBAL_ARCHIVE_STATUS
- GS_GSC_MEMORY_DETAIL
- GS_IMCU_SLOT_STATUS
- GS_IMCV_STATUS
- GS_LOGICALSTANDBY_SKIP
- GS_LOGICALSTANDBY_SKIP_TRANSACTION
- GS_LSC_MEMORY_DETAIL
- GS_MY_PLAN_TRACE
- GS_SESSION_ALL_SETTINGS
- GS_SQL_COUNT
- GS_TOTAL_NODEGROUP_MEMORY_DETAIL
- GS_WORKLOAD_RULE_STAT
- GV_INSTANCE
- GV_SESSION
- MPP_TABLES
- MY_AUDIT_TRAIL
- MY_COL_COMMENTS
- MY_COLL_TYPES
- MY_CONS_COLUMNS
- MY_CONSTRAINTS
- MY_DEPENDENCIES
- MY_IND_COLUMNS
- MY_IND_EXPRESSIONS
- MY_INDEXES
- MY_JOBS
- MY_OBJECTS
- MY_PROCEDURES
- MY_SCHEDULER_JOB_ARGS
- MY_SCHEDULER_JOBS
- MY_SCHEDULER_PROGRAM_ARGS
- MY_SEQUENCES
- MY_SOURCE
- MY_SYNONYMS
- MY_TAB_COL_STATISTICS
- MY_TAB_COLUMNS
- MY_TAB_COMMENTS
- MY_TAB_HISTOGRAMS
- MY_TAB_MODIFICATIONS
- MY_TAB_STATS_HISTORY
- MY_TAB_STATISTICS
- MY_TABLES
- MY_TABLESPACES
- MY_TRIGGERS
- MY_TYPE_ATTRS
- MY_TYPES
- MY_VIEWS
- NLS_DATABASE_PARAMETERS
- NLS_INSTANCE_PARAMETERS
- PG_AVAILABLE_EXTENSION_VERSIONS
- PG_AVAILABLE_EXTENSIONS
- PG_CONTROL_GROUP_CONFIG
- PG_CURSORS
- PG_EXT_STATS
- PG_GET_SENDERS_CATCHUP_TIME
- PG_GROUP
- PG_INDEXES
- PG_LOCKS
- PG_NODE_ENV
- PG_OS_THREADS
- PG_PREPARED_STATEMENTS
- PG_PREPARED_XACTS
- PG_REPLICATION_SLOTS
- PG_RULES
- PG_RUNNING_XACTS
- PG_SESSION_IOSTAT
- PG_SETTINGS
- PG_SHARED_MEMORY_DETAIL
- PG_STATS
- PG_STAT_ACTIVITY
- PG_STAT_ACTIVITY_NG
- PG_STAT_ALL_INDEXES
- PG_STAT_ALL_TABLES
- PG_STAT_BAD_BLOCK
- PG_STAT_BGWRITER
- PG_STAT_DATABASE
- PG_STAT_DATABASE_CONFLICTS
- PG_STAT_REPLICATION
- PG_STAT_SYS_INDEXES
- PG_STAT_SYS_TABLES
- PG_STAT_USER_FUNCTIONS
- PG_STAT_USER_INDEXES
- PG_STAT_USER_TABLES
- PG_STAT_XACT_ALL_TABLES
- PG_STAT_XACT_SYS_TABLES
- PG_STAT_XACT_USER_FUNCTIONS
- PG_STAT_XACT_USER_TABLES
- PG_STATIO_ALL_INDEXES
- PG_STATIO_ALL_SEQUENCES
- PG_STATIO_ALL_TABLES
- PG_STATIO_SYS_INDEXES
- PG_STATIO_SYS_SEQUENCES
- PG_STATIO_SYS_TABLES
- PG_STATIO_USER_INDEXES
- PG_STATIO_USER_SEQUENCES
- PG_STATIO_USER_TABLES
- PG_TABLES
- PG_THREAD_WAIT_STATUS
- PG_TIMEZONE_ABBREVS
- PG_TIMEZONE_NAMES
- PG_TOTAL_MEMORY_DETAIL
- PG_TOTAL_USER_RESOURCE_INFO
- PG_TOTAL_USER_RESOURCE_INFO_OID
- PG_VARIABLE_INFO
- PG_VIEWS
- PGXC_GET_STAT_ALL_TABLES
- PGXC_GET_TABLE_SKEWNESS
- PGXC_NODE_ENV
- PGXC_OS_THREADS
- PGXC_PREPARED_XACTS
- PGXC_RUNNING_XACTS
- PGXC_STAT_ACTIVITY
- PGXC_STAT_BAD_BLOCK
- PGXC_SQL_COUNT
- PGXC_THREAD_WAIT_STATUS
- PGXC_TOTAL_MEMORY_DETAIL
- PGXC_VARIABLE_INFO
- PLAN_TABLE
- PV_FILE_STAT
- PV_INSTANCE_TIME
- PV_OS_RUN_INFO
- PV_REDO_STAT
- PV_SESSION_MEMORY
- PV_SESSION_MEMORY_CONTEXT
- PV_SESSION_MEMORY_DETAIL
- PV_SESSION_STAT
- PV_SESSION_TIME
- PV_THREAD_MEMORY_CONTEXT
- PV_TOTAL_MEMORY_DETAIL
- SYS_DUMMY
- V_INSTANCE
- V_MYSTAT
- V_SESSION
- V$GLOBAL_OPEN_CURSOR
- V$GLOBAL_TRANSACTION
- V$LOCK
- V$NLS_PARAMETERS
- V$OPEN_CURSOR
- V$SESSION_WAIT
- V$SYSSTAT
- V$SYSTEM_EVENT
- V$VERSION
-
分区表
-
Schema
- Information Schema
-
DBE_PERF Schema
- OS
- Instance
- File
-
Object
- STAT_USER_TABLES
- SUMMARY_STAT_USER_TABLES
- GLOBAL_STAT_USER_TABLES
- STAT_USER_INDEXES
- SUMMARY_STAT_USER_INDEXES
- GLOBAL_STAT_USER_INDEXES
- STAT_SYS_TABLES
- SUMMARY_STAT_SYS_TABLES
- GLOBAL_STAT_SYS_TABLES
- STAT_SYS_INDEXES
- SUMMARY_STAT_SYS_INDEXES
- GLOBAL_STAT_SYS_INDEXES
- STAT_ALL_TABLES
- SUMMARY_STAT_ALL_TABLES
- GLOBAL_STAT_ALL_TABLES
- STAT_ALL_INDEXES
- SUMMARY_STAT_ALL_INDEXES
- GLOBAL_STAT_ALL_INDEXES
- STAT_DATABASE
- SUMMARY_STAT_DATABASE
- GLOBAL_STAT_DATABASE
- STAT_DATABASE_CONFLICTS
- SUMMARY_STAT_DATABASE_CONFLICTS
- GLOBAL_STAT_DATABASE_CONFLICTS
- STAT_XACT_ALL_TABLES
- SUMMARY_STAT_XACT_ALL_TABLES
- GLOBAL_STAT_XACT_ALL_TABLES
- STAT_XACT_SYS_TABLES
- SUMMARY_STAT_XACT_SYS_TABLES
- GLOBAL_STAT_XACT_SYS_TABLES
- STAT_XACT_USER_TABLES
- SUMMARY_STAT_XACT_USER_TABLES
- GLOBAL_STAT_XACT_USER_TABLES
- STAT_XACT_USER_FUNCTIONS
- SUMMARY_STAT_XACT_USER_FUNCTIONS
- GLOBAL_STAT_XACT_USER_FUNCTIONS
- STAT_BAD_BLOCK
- SUMMARY_STAT_BAD_BLOCK
- GLOBAL_STAT_BAD_BLOCK
- STAT_USER_FUNCTIONS
- SUMMARY_STAT_USER_FUNCTIONS
- GLOBAL_STAT_USER_FUNCTIONS
- Workload
-
Session/Thread
- SESSION_STAT
- GLOBAL_SESSION_STAT
- SESSION_TIME
- GLOBAL_SESSION_TIME
- SESSION_MEMORY
- GLOBAL_SESSION_MEMORY
- SESSION_MEMORY_DETAIL
- GLOBAL_SESSION_MEMORY_DETAIL
- SESSION_STAT_ACTIVITY
- GLOBAL_SESSION_STAT_ACTIVITY
- THREAD_WAIT_STATUS
- GLOBAL_THREAD_WAIT_STATUS
- LOCAL_THREADPOOL_STATUS
- GLOBAL_THREADPOOL_STATUS
- SESSION_CPU_RUNTIME
- SESSION_MEMORY_RUNTIME
- STATEMENT_IOSTAT_COMPLEX_RUNTIME
- LOCAL_ACTIVE_SESSION
- GLOBAL_ACTIVE_SESSION
- Transaction
-
Query
- STATEMENT
- SUMMARY_STATEMENT
- STATEMENT_COUNT
- GLOBAL_STATEMENT_COUNT
- SUMMARY_STATEMENT_COUNT
- GLOBAL_STATEMENT_COMPLEX_HISTORY
- GLOBAL_STATEMENT_COMPLEX_HISTORY_TABLE
- GLOBAL_STATEMENT_COMPLEX_RUNTIME
- STATEMENT_RESPONSETIME_PERCENTILE
- STATEMENT_WLMSTAT_COMPLEX_RUNTIME
- STATEMENT_HISTORY
- GLOBAL_SESSION_SQL_MEMORY
- SESSION_SQL_MEMORY
-
Cache/IO
- STATIO_USER_TABLES
- SUMMARY_STATIO_USER_TABLES
- GLOBAL_STATIO_USER_TABLES
- STATIO_USER_INDEXES
- SUMMARY_STATIO_USER_INDEXES
- GLOBAL_STATIO_USER_INDEXES
- STATIO_USER_SEQUENCES
- SUMMARY_STATIO_USER_SEQUENCES
- GLOBAL_STATIO_USER_SEQUENCES
- STATIO_SYS_TABLES
- SUMMARY_STATIO_SYS_TABLES
- GLOBAL_STATIO_SYS_TABLES
- STATIO_SYS_INDEXES
- SUMMARY_STATIO_SYS_INDEXES
- GLOBAL_STATIO_SYS_INDEXES
- STATIO_SYS_SEQUENCES
- SUMMARY_STATIO_SYS_SEQUENCES
- GLOBAL_STATIO_SYS_SEQUENCES
- STATIO_ALL_TABLES
- SUMMARY_STATIO_ALL_TABLES
- GLOBAL_STATIO_ALL_TABLES
- STATIO_ALL_INDEXES
- SUMMARY_STATIO_ALL_INDEXES
- GLOBAL_STATIO_ALL_INDEXES
- STATIO_ALL_SEQUENCES
- SUMMARY_STATIO_ALL_SEQUENCES
- GLOBAL_STATIO_ALL_SEQUENCES
- Comm
-
Utility
- REPLICATION_STAT
- GLOBAL_REPLICATION_STAT
- REPLICATION_SLOTS
- GLOBAL_REPLICATION_SLOTS
- BGWRITER_STAT
- GLOBAL_BGWRITER_STAT
- POOLER_STATUS
- GLOBAL_COMM_CHECK_CONNECTION_STATUS
- GLOBAL_CKPT_STATUS
- GLOBAL_DOUBLE_WRITE_STATUS
- GLOBAL_PAGEWRITER_STATUS
- GLOBAL_POOLER_STATUS
- GLOBAL_RECORD_RESET_TIME
- GLOBAL_REDO_STATUS
- GLOBAL_RECOVERY_STATUS
- CLASS_VITAL_INFO
- USER_LOGIN
- SUMMARY_USER_LOGIN
- GLOBAL_GET_BGWRITER_STATUS
- GLOBAL_SINGLE_FLUSH_DW_STATUS
- GLOBAL_CANDIDATE_STATUS
- PARALLEL_DECODE_STATUS
- GLOBAL_PARALLEL_DECODE_STATUS
- PARALLEL_DECODE_THREAD_INFO
- GLOBAL_PARALLEL_DECODE_THREAD_INFO
- GLOBAL_ADIO_COMPLETER_STATUS
- GLOBAL_AIO_SLOT_USAGE_STATUS
- Lock
- Wait Events
- Configuration
- Operator
- Workload Manager
- Global Plancache
- RTO & RPO
- AI Watchdog
- Trace Function
- 废弃
-
DBE_SQL_UTIL Schema
- DBE_SQL_UTIL.create_hint_sql_patch
- DBE_SQL_UTIL.create_abort_sql_patch
- DBE_SQL_UTIL.drop_sql_patch
- DBE_SQL_UTIL.enable_sql_patch
- DBE_SQL_UTIL.disable_sql_patch
- DBE_SQL_UTIL.show_sql_patch
- DBE_SQL_UTIL.create_hint_sql_patch
- DBE_SQL_UTIL.create_abort_sql_patch
- DBE_SQL_UTIL.create_remote_hint_sql_patch
- DBE_SQL_UTIL.create_remote_abort_sql_patch
- DBE_SQL_UTIL.drop_remote_sql_patch
- DBE_SQL_UTIL.enable_remote_sql_patch
- DBE_SQL_UTIL.disable_remote_sql_patch
-
DBE_PLDEBUGGER Schema
- DBE_PLDEBUGGER.turn_on
- DBE_PLDEBUGGER.turn_off
- DBE_PLDEBUGGER.local_debug_server_info
- DBE_PLDEBUGGER.attach
- DBE_PLDEBUGGER.info_locals
- DBE_PLDEBUGGER.next
- DBE_PLDEBUGGER.continue
- DBE_PLDEBUGGER.abort
- DBE_PLDEBUGGER.print_var
- DBE_PLDEBUGGER.info_code
- DBE_PLDEBUGGER.step
- DBE_PLDEBUGGER.add_breakpoint
- DBE_PLDEBUGGER.delete_breakpoint
- DBE_PLDEBUGGER.info_breakpoints
- DBE_PLDEBUGGER.backtrace
- DBE_PLDEBUGGER.enable_breakpoint
- DBE_PLDEBUGGER.disable_breakpoint
- DBE_PLDEBUGGER.finish
- DBE_PLDEBUGGER.set_var
- DBE_PLDEBUGGER.backtrace
- DBE_PLDEBUGGER.error_end
- DBE_PLDEBUGGER.error_info_locals
- DBE_PLDEVELOPER
-
配置运行参数
- 查看参数
- 设置参数
-
GUC参数说明
- GUC使用说明
- 文件位置
- 连接和认证
- 资源消耗
- 数据并行导入导出
- 预写式日志
- 双机复制
- 查询规划
- 错误报告和日志
- 告警上报
- 运行时统计
- 负载管理
- 自动清理
- 客户端连接缺省设置
- 锁管理
- 版本和平台兼容性
- 容错性
- 连接池参数
- 集群事务
- 双集群复制参数
- 开发人员选项
- 审计
- 事务监控
- CM相关参数
- GTM相关参数
- 升级参数
- 其它选项
- 等待事件
- Query
- 系统性能快照
- 黑匣子相关参数
- 安全配置
- HyperLogLog
- 用户自定义函数
- 定时任务
- 线程池
- 备份恢复
- Undo
- DCF参数设置
- 闪回相关参数
- 回滚相关参数
- AI特性
- Global SysCache参数
- 分布式备机读参数
- 备机数据修复
- 账本数据库参数
- 在线创建索引
- 在线DDL
- 数据生命周期管理-OLTP表压缩
- session级事务下推及相关参数
- Enhanced Toast
- 预留参数
-
FAQ
- GaussDB单表支持的最大列数?
- 如何查询分区表分区信息和索引信息?
- 什么是OID?
- 什么是UDF?
- GaussDB都有哪些通配符,如何使用?
- 数据库对象名称的长度是否有限制?
- 如何查看某张表创建时间?
- 如何并行创建索引?
- 如何创建自动递增列?
- GaussDB数据库能否通过SQL查询内存的使用情况?
- LIMIT 2、LIMIT 2,3、LIMIT 2 OFFSET 3的区别?
- 如何创建默认为当前时间的列?
- 如何判断字段是否为NULL?
- 如何获取当前连接数据库的用户名?
- 如何查询两个时间的时间差?
- SQL语言分为哪几类?
- 触发器的作用是什么?
- 数据库事务正确执行的四个特性是什么?
- GaussDB的DROP、TRUNCATE、DELETE这三种删除数据的方式主要区别是什么?
- GaussDB数据库一个汉字占几个字节?
- 唯一约束和唯一索引有什么区别?
- GaussDB如何创建弱口令?
- 什么是脏读、幻读、不可重复读?
- 什么是MVCC?
- 日期/时间类型哪些带时区,哪些不带时区?
- count(*)和count(column)的区别是什么?
- 空字符串和NULL的关系?
- WAL日志是什么,日志文件路径是什么?
- GaussDB中模式、用户和角色如何理解?
- GaussDB支持动态内存管理吗?
- 以pg_temp或pg_toast_temp开头的SCHEMA是什么?
- 函数和存储过程的区别是什么?
- 为什么REVOKE某个用户的CONNECT ON DATABASE权限后还可以登录数据库?
- 全表关联UPDATE时,如何提升效率?
- 使用LIKE进行模糊查找时如何忽略大小写?
- 在使用了字符串处理函数后查询就不使用索引,该如何处理?
- 为什么查询中无法识别表名或者列名?
- 如果建表时没有指定分布列,数据会怎么存储?
- 什么是数据倾斜,如何检查?
- 复制表适用于哪些场景?
-
开发指南(集中式_V2.0-8.x)
- 数据库系统概述
- 数据库安全
- 数据库使用入门
- 开发设计建议
-
应用程序开发教程
- GaussDB应用程序开发教程概述
- 开发规范
- 获取驱动包
-
基于JDBC开发
- 开发流程
- 开发步骤
- 典型应用开发示例
-
JDBC接口参考
- java.sql.Connection
- java.sql.CallableStatement
- java.sql.DatabaseMetaData
- java.sql.Driver
- java.sql.PreparedStatement
- java.sql.ResultSet
- java.sql.ResultSetMetaData
- java.sql.Statement
- javax.sql.ConnectionPoolDataSource
- javax.sql.DataSource
- javax.sql.PooledConnection
- javax.naming.Context
- javax.naming.spi.InitialContextFactory
- CopyManager
- PGReplicationConnection
- PGReplicationStream
- ChainedStreamBuilder
- ChainedCommonStreamBuilder
- PGobject
- 基于ODBC开发
- 基于libpq开发
- 基于Psycopg开发
- 基于Go驱动开发
- 基于ecpg开发
- 兼容性参考
- 附录
-
SQL调优指南
- Query执行流程
- SQL执行计划介绍
- 调优流程
- 更新统计信息
- 审视和修改表定义
- 典型SQL调优点
- 经验总结:SQL语句改写规则
- SQL调优关键参数调整
-
使用Plan Hint进行调优
- Plan Hint调优概述
- 指定Hint所处于的查询块Queryblock
- Hint可以指定表的查询块名和schema名
- Join顺序的Hint
- Join方式的Hint
- 行数的Hint
- Stream方式的Hint
- Scan方式的Hint
- 子链接块名的Hint
- Hint的错误、冲突及告警
- 优化器GUC参数的Hint
- Custom Plan和Generic Plan选择的Hint
- 指定子查询不展开的Hint
- 指定不使用全局计划缓存的Hint
- 同层参数化路径的Hint
- 设置慢SQL管控规则的Hint
- 自适应计划选择的Hint
- 为子计划结果进行物化的Hint
- 支持bitmapscan的Hint
- 连接时内表物化的Hint
- 指定agg算法的Hint
- 查询改写的Hint
- Outline Hint
- 指定Any子链接提升的Hint
- 指定扫描并行度的Hint
- 指定是否使用Semi Join的Hint
- 指定Stream Hashagg优化方式的Hint
- 指定是否使用minmax优化的hint
- 指定是否使用Partition-wise Scan优化的hint
- 使用向量化执行引擎进行调优
- PLAN TRACE使用介绍
- 使用SQL PATCH进行调优
- 实际调优案例
-
SQL参考
- GaussDB SQL
- 关键字
- 数据类型
- 字符集与字符序
- 常量与宏
-
函数和操作符
- 逻辑操作符
- 比较操作符
- 字符处理函数和操作符
- 二进制字符串函数和操作符
- 位串函数和操作符
- 模式匹配操作符
- 数字操作函数和操作符
- 时间和日期处理函数和操作符
- 类型转换函数
- 几何函数和操作符
- 网络地址函数和操作符
- 文本检索函数和操作符
- JSON/JSONB函数和操作符
- HLL函数和操作符
- SEQUENCE函数
- 数组函数和操作符
- 范围函数和操作符
- 聚集函数
- 窗口函数
- 安全函数
- 账本数据库的函数
- 密态函数和操作符
- 返回集合的函数
- 条件表达式函数
- 系统信息函数
- 系统管理函数
- SPM计划管理函数
- 统计信息函数
- 触发器函数
- HashFunc函数
- 提示信息函数
- 全局临时表函数
- 故障注入系统函数
- AI特性函数
- 敏感数据发现函数
- 动态数据脱敏函数
- 层次递归查询函数
- 其他系统函数
- 内部函数
- Global SysCache特性函数
- 数据损坏检测修复函数
- XML类型函数
- XMLTYPE类型函数
- Global Plsql Cache特性函数
- 数据透视函数
- 通用标识符函数
- SQL限流函数
- 向量数据库函数与操作符
- 多租数据库函数
- 废弃函数
- 表达式
- 伪列
- 类型转换
- 系统操作
- 事务控制
-
SQL语法
- SQL语法格式说明
- DCL语法一览表
- DDL语法一览表
- DML语法一览表
- 其他语法一览表
- Online DDL及其操作
-
A
- ABORT
- ALTER AGGREGATE
- ALTER AUDIT POLICY
- ALTER COLUMN ENCRYPTION KEY
- ALTER DATABASE
- ALTER DATABASE LINK
- ALTER DEFAULT PRIVILEGES
- ALTER DIRECTORY
- ALTER EVENT
- ALTER EXTENSION
- ALTER FOREIGN DATA WRAPPER
- ALTER FOREIGN TABLE
- ALTER FUNCTION
- ALTER GLOBAL CONFIGURATION
- ALTER GROUP
- ALTER INDEX
- ALTER LANGUAGE
- ALTER MASKING POLICY
- ALTER MATERIALIZED VIEW
- ALTER OPERATOR
- ALTER PACKAGE
- ALTER PLUGGABLE DATABASE
- ALTER PROCEDURE
- ALTER RESOURCE LABEL
- ALTER RESOURCE POOL
- ALTER ROLE
- ALTER ROW LEVEL SECURITY POLICY
- ALTER SCHEMA
- ALTER SEQUENCE
- ALTER SERVER
- ALTER SESSION
- ALTER SYNONYM
- ALTER SYSTEM KILL SESSION
- ALTER SYSTEM SET
- ALTER TABLE
- ALTER TABLE PARTITION
- ALTER TABLE SUBPARTITION
- ALTER TABLESPACE
- ALTER TRIGGER
- ALTER TYPE
- ALTER USER
- ALTER USER MAPPING
- ALTER VIEW
- ANALYZE | ANALYSE
- B
-
C
- CALL
- CHECKPOINT
- CLEAN CONNECTION
- CLOSE
- CLUSTER
- COMMENT
- COMMIT | END
- COMMIT PREPARED
- COPY
- CREATE AGGREGATE
- CREATE AUDIT POLICY
- CREATE CAST
- CREATE CLIENT MASTER KEY
- CREATE COLUMN ENCRYPTION KEY
- CREATE CONVERSION
- CREATE DATABASE
- CREATE DATABASE LINK
- CREATE DIRECTORY
- CREATE EVENT
- CREATE EXTENSION
- CREATE FOREIGN DATA WRAPPER
- CREATE FOREIGN TABLE
- CREATE FUNCTION
- CREATE GLOBAL INDEX
- CREATE GROUP
- CREATE INCREMENTAL MATERIALIZED VIEW
- CREATE INDEX
- CREATE LANGUAGE
- CREATE MASKING POLICY
- CREATE MATERIALIZED VIEW
- CREATE MODEL
- CREATE OPERATOR
- CREATE OPERATOR CLASS
- CREATE PACKAGE
- CREATE PLUGGABLE DATABASE
- CREATE PROCEDURE
- CREATE RESOURCE LABEL
- CREATE RESOURCE POOL
- CREATE ROLE
- CREATE ROW LEVEL SECURITY POLICY
- CREATE RULE
- CREATE SCHEMA
- CREATE SECURITY LABEL
- CREATE SEQUENCE
- CREATE SERVER
- CREATE SYNONYM
- CREATE TABLE
- CREATE TABLE AS
- CREATE TABLE PARTITION
- CREATE TABLE PARTITION | SUBPARTITION AS
- CREATE TABLESPACE
- CREATE TABLE SUBPARTITION
- CREATE TRIGGER
- CREATE TYPE
- CREATE USER
- CREATE USER MAPPING
- CREATE VIEW
- CREATE WEAK PASSWORD DICTIONARY
- CURSOR
-
D
- DEALLOCATE
- DECLARE
- DELETE
- DO
- DROP AGGREGATE
- DROP AUDIT POLICY
- DROP CAST
- DROP CLIENT MASTER KEY
- DROP COLUMN ENCRYPTION KEY
- DROP DATABASE
- DROP DATABASE LINK
- DROP DIRECTORY
- DROP EVENT
- DROP EXTENSION
- DROP FOREIGN DATA WRAPPER
- DROP FOREIGN TABLE
- DROP FUNCTION
- DROP GLOBAL CONFIGURATION
- DROP GROUP
- DROP INDEX
- DROP LANGUAGE
- DROP MASKING POLICY
- DROP MATERIALIZED VIEW
- DROP MODEL
- DROP OPERATOR
- DROP OWNED
- DROP PACKAGE
- DROP PLUGGABLE DATABASE INCLUDING DATAFILES
- DROP PROCEDURE
- DROP RESOURCE LABEL
- DROP RESOURCE POOL
- DROP ROLE
- DROP ROW LEVEL SECURITY POLICY
- DROP RULE
- DROP SCHEMA
- DROP SECURITY LABEL
- DROP SEQUENCE
- DROP SERVER
- DROP SYNONYM
- DROP TABLE
- DROP TABLESPACE
- DROP TRIGGER
- DROP TYPE
- DROP USER
- DROP USER MAPPING
- DROP VIEW
- DROP WEAK PASSWORD DICTIONARY
- E
- F
- G
- I
- L
- M
- P
- R
- S
- T
- U
- V
- 附录
- 最佳实践
- 用户自定义函数
- 存储过程
- 自治事务
-
系统表和系统视图
- 系统表和系统视图概述
-
系统表
- 分区表
- 负载管理
- OLTP表压缩
- 密态等值查询
- 通信
- 账本数据库
- SPM计划管理
- AI
- 审计
- 用户和权限管理
- 连接和认证
- 动态脱敏
- DATABASE LINK
- 物化视图
- 逻辑解码
- 多租数据库
-
其他系统表
- GS_ASP
- gs_copy_summary
- PGXC_COPY_ERROR_LOG
- GS_DEP_SOURCE
- GS_DEPENDENCIES
- GS_DEPENDENCIES_OBJ
- GS_GLOBAL_CONFIG
- GS_IMCV
- GS_JOB_ARGUMENT
- GS_JOB_ATTRIBUTE
- GS_PACKAGE
- GS_PLAN_TRACE
- GS_POLICY_LABEL
- GS_RECYCLEBIN
- GS_SECURITY_LABEL
- GS_SQL_PATCH
- GS_STATISTIC_EXT_HISTORY
- GS_STATISTIC_HISTORY
- GS_TABLESTATS_HISTORY
- GS_TS_DICT_DEFINITION
- GS_TXN_SNAPSHOT
- GS_UID
- GS_WORKLOAD_RULE
- PG_AGGREGATE
- PG_AM
- PG_AMOP
- PG_AMPROC
- PG_ATTRDEF
- PG_ATTRIBUTE
- PG_CAST
- PG_CLASS
- PG_COLLATION
- PG_CONSTRAINT
- PG_CONVERSION
- PG_DATABASE
- PG_DEPEND
- PG_DESCRIPTION
- PG_DIRECTORY
- PG_ENUM
- PG_EXTENSION
- PG_FOREIGN_DATA_WRAPPER
- PG_FOREIGN_SERVER
- PG_FOREIGN_TABLE
- PG_HASHBUCKET
- PG_INDEX
- PG_INHERITS
- PG_JOB
- PG_JOB_PROC
- PG_LANGUAGE
- PG_LARGEOBJECT
- PG_LARGEOBJECT_METADATA
- PG_NAMESPACE
- PG_OBJECT
- PG_OPCLASS
- PG_OPERATOR
- PG_OPFAMILY
- PG_PLTEMPLATE
- PG_PROC
- PG_RANGE
- PG_REPLICATION_ORIGIN
- PG_RESOURCE_POOL
- PG_REWRITE
- PG_SHDEPEND
- PG_SHDESCRIPTION
- PG_SET
- PG_STATISTIC
- PG_STATISTIC_EXT
- PG_SYNONYM
- PG_TABLESPACE
- PG_TRIGGER
- PG_TS_CONFIG
- PG_TS_CONFIG_MAP
- PG_TS_DICT
- PG_TS_PARSER
- PG_TS_TEMPLATE
- PG_TYPE
- PGXC_CLASS
- PGXC_GROUP
- PGXC_SLICE
- PLAN_TABLE_DATA
- STATEMENT_HISTORY
- STREAMING_STREAM
- STREAMING_CONT_QUERY
-
系统视图
-
分区表
- ADM_IND_PARTITIONS
- ADM_IND_SUBPARTITIONS
- ADM_PART_COL_STATISTICS
- ADM_PART_INDEXES
- ADM_PART_TABLES
- ADM_SUBPART_COL_STATISTICS
- ADM_SUBPART_KEY_COLUMNS
- ADM_TAB_SUBPARTITIONS
- ADM_TAB_PARTITIONS
- DB_IND_PARTITIONS
- DB_IND_SUBPARTITIONS
- DB_PART_COL_STATISTICS
- DB_PART_INDEXES
- DB_PART_KEY_COLUMNS
- DB_PART_TABLES
- DB_SUBPART_COL_STATISTICS
- DB_SUBPART_KEY_COLUMNS
- DB_TAB_PARTITIONS
- DB_TAB_SUBPARTITIONS
- MY_IND_PARTITIONS
- MY_IND_SUBPARTITIONS
- MY_PART_COL_STATISTICS
- MY_PART_INDEXES
- MY_PART_KEY_COLUMNS
- MY_PART_TABLES
- MY_SUBPART_COL_STATISTICS
- MY_SUBPART_KEY_COLUMNS
- MY_TAB_PARTITIONS
- MY_TAB_SUBPARTITIONS
- GS_STATIO_ALL_PARTITIONS
- GS_STAT_XACT_ALL_PARTITIONS
- GS_STAT_ALL_PARTITIONS
- 负载管理
- OLTP表压缩
- 通信
- 段页式存储
- SPM计划管理
- 审计
-
用户和权限管理
- ADM_COL_PRIVS
- ADM_ROLE_PRIVS
- ADM_ROLES
- ADM_SYS_PRIVS
- ADM_TAB_PRIVS
- ADM_USERS
- DB_COL_PRIVS
- DB_DIRECTORIES
- DB_TAB_PRIVS
- DB_USERS
- GS_DB_PRIVILEGES
- GS_LABELS
- MY_COL_PRIVS
- MY_ROLE_PRIVS
- MY_SYS_PRIVS
- PG_RLSPOLICIES
- GS_RLSPOLICIES
- PG_ROLES
- GS_ROLES
- PG_SECLABELS
- GS_SECLABELS
- PG_SHADOW
- GS_SHADOW
- PG_USER
- GS_USER
- PG_USER_MAPPINGS
- ROLE_ROLE_PRIVS
- ROLE_SYS_PRIVS
- ROLE_TAB_PRIVS
- 动态脱敏
- DATABASE LINK
- 物化视图
- 多租数据库
-
其他系统视图
- ADM_ARGUMENTS
- ADM_COL_COMMENTS
- ADM_COLL_TYPES
- ADM_CONS_COLUMNS
- ADM_CONSTRAINTS
- ADM_DATA_FILES
- ADM_DEPENDENCIES
- ADM_DIRECTORIES
- ADM_HIST_SNAPSHOT
- ADM_HIST_SQL_PLAN
- ADM_HIST_SQLSTAT
- ADM_HIST_SQLTEXT
- ADM_IND_COLUMNS
- ADM_IND_EXPRESSIONS
- ADM_INDEXES
- ADM_OBJECTS
- ADM_PROCEDURES
- ADM_RECYCLEBIN
- ADM_SCHEDULER_JOB_ARGS
- ADM_SCHEDULER_JOBS
- ADM_SCHEDULER_PROGRAM_ARGS
- ADM_SCHEDULER_PROGRAMS
- ADM_SCHEDULER_RUNNING_JOBS
- ADM_SEGMENTS
- ADM_SEQUENCES
- ADM_SOURCE
- ADM_SYNONYMS
- ADM_TAB_COL_STATISTICS
- ADM_TAB_COLS
- ADM_TAB_COLUMNS
- ADM_TAB_COMMENTS
- ADM_TAB_HISTOGRAMS
- ADM_TAB_STATISTICS
- ADM_TAB_STATS_HISTORY
- ADM_TABLES
- ADM_TABLESPACES
- ADM_TRIGGERS
- ADM_TYPE_ATTRS
- ADM_TYPES
- ADM_VIEWS
- DB_ARGUMENTS
- DB_ALL_TABLES
- DB_COL_COMMENTS
- DB_COLL_TYPES
- DB_CONS_COLUMNS
- DB_CONSTRAINTS
- DB_DEPENDENCIES
- DB_ERRORS
- DB_IND_COLUMNS
- DB_IND_EXPRESSIONS
- DB_INDEXES
- DB_OBJECTS
- DB_PROCEDURES
- DB_SCHEDULER_JOB_ARGS
- DB_SCHEDULER_PROGRAM_ARGS
- DB_SEQUENCES
- DB_SOURCE
- DB_SYNONYMS
- DB_TAB_COL_STATISTICS
- DB_TAB_COLUMNS
- DB_TAB_COMMENTS
- DB_TAB_HISTOGRAMS
- DB_TAB_MODIFICATIONS
- DB_TAB_STATS_HISTORY
- DB_TABLES
- DB_TRIGGERS
- DB_TYPES
- DB_VIEWS
- DICT
- DICTIONARY
- DUAL
- DV_SESSIONS
- DV_SESSION_LONGOPS
- GS_ALL_CONTROL_GROUP_INFO
- GS_ALL_PREPARED_STATEMENTS
- GS_COMM_PROXY_THREAD_STATUS
- GS_FILE_STAT
- GS_GET_CONTROL_GROUP_INFO
- GS_GLC_MEMORY_DETAIL
- GS_GLOBAL_ARCHIVE_STATUS
- GS_GSC_MEMORY_DETAIL
- GS_IMCU_SLOT_STATUS
- GS_IMCV_STATUS
- GS_INSTANCE_TIME
- GS_LOGICALSTANDBY_SKIP
- GS_LOGICALSTANDBY_SKIP_TRANSACTION
- GS_LSC_MEMORY_DETAIL
- GS_MY_PLAN_TRACE
- GS_OS_RUN_INFO
- GS_REDO_STAT
- GS_SESSION_ALL_SETTINGS
- GS_SESSION_MEMORY
- GS_SESSION_MEMORY_CONTEXT
- GS_SESSION_MEMORY_DETAIL
- GS_SESSION_STAT
- GS_SESSION_TIME
- GS_SHARED_MEMORY_DETAIL
- GS_SQL_COUNT
- GS_THREAD_MEMORY_CONTEXT
- GS_TOTAL_MEMORY_DETAIL
- GS_TOTAL_NODEGROUP_MEMORY_DETAIL
- GS_WORKLOAD_RULE_STAT
- GV_INSTANCE
- GV_SESSION
- MPP_TABLES
- MY_AUDIT_TRAIL
- MY_COL_COMMENTS
- MY_COLL_TYPES
- MY_CONS_COLUMNS
- MY_CONSTRAINTS
- MY_DEPENDENCIES
- MY_ERRORS
- MY_IND_COLUMNS
- MY_IND_EXPRESSIONS
- MY_INDEXES
- MY_JOBS
- MY_OBJECTS
- MY_PROCEDURES
- MY_RECYCLEBIN
- MY_SCHEDULER_JOB_ARGS
- MY_SCHEDULER_JOBS
- MY_SCHEDULER_PROGRAM_ARGS
- MY_SEQUENCES
- MY_SOURCE
- MY_SYNONYMS
- MY_TAB_COL_STATISTICS
- MY_TAB_COLUMNS
- MY_TAB_COMMENTS
- MY_TAB_HISTOGRAMS
- MY_TAB_MODIFICATIONS
- MY_TAB_STATS_HISTORY
- MY_TAB_STATISTICS
- MY_TABLES
- MY_TABLESPACES
- MY_TRIGGERS
- MY_TYPE_ATTRS
- MY_TYPES
- MY_VIEWS
- NLS_DATABASE_PARAMETERS
- NLS_INSTANCE_PARAMETERS
- PG_AVAILABLE_EXTENSION_VERSIONS
- PG_AVAILABLE_EXTENSIONS
- PG_CONTROL_GROUP_CONFIG
- PG_CURSORS
- PG_EXT_STATS
- PG_GET_SENDERS_CATCHUP_TIME
- PG_GROUP
- PG_GTT_RELSTATS
- PG_GTT_STATS
- PG_GTT_ATTACHED_PIDS
- PG_INDEXES
- PG_LOCKS
- PG_NODE_ENV
- PG_OS_THREADS
- PG_PREPARED_STATEMENTS
- PG_PREPARED_XACTS
- PG_REPLICATION_ORIGIN_STATUS
- PG_REPLICATION_SLOTS
- PG_RULES
- PG_RUNNING_XACTS
- PG_SESSION_IOSTAT
- PG_SETTINGS
- PG_STATS
- PG_STAT_ACTIVITY
- PG_STAT_ACTIVITY_NG
- PG_STAT_ALL_INDEXES
- PG_STAT_ALL_TABLES
- PG_STAT_BAD_BLOCK
- PG_STAT_BGWRITER
- PG_STAT_DATABASE
- PG_STAT_DATABASE_CONFLICTS
- PG_STAT_REPLICATION
- PG_STAT_SYS_INDEXES
- PG_STAT_SYS_TABLES
- PG_STAT_USER_FUNCTIONS
- PG_STAT_USER_INDEXES
- PG_STAT_USER_TABLES
- PG_STAT_XACT_ALL_TABLES
- PG_STAT_XACT_SYS_TABLES
- PG_STAT_XACT_USER_FUNCTIONS
- PG_STAT_XACT_USER_TABLES
- PG_STATIO_ALL_INDEXES
- PG_STATIO_ALL_SEQUENCES
- PG_STATIO_ALL_TABLES
- PG_STATIO_SYS_INDEXES
- PG_STATIO_SYS_SEQUENCES
- PG_STATIO_SYS_TABLES
- PG_STATIO_USER_INDEXES
- PG_STATIO_USER_SEQUENCES
- PG_STATIO_USER_TABLES
- PG_TABLES
- PG_THREAD_WAIT_STATUS
- PG_TIMEZONE_ABBREVS
- PG_TIMEZONE_NAMES
- PG_TOTAL_MEMORY_DETAIL
- PG_TOTAL_USER_RESOURCE_INFO
- PG_TOTAL_USER_RESOURCE_INFO_OID
- PG_VARIABLE_INFO
- PG_VIEWS
- PGXC_PREPARED_XACTS
- PGXC_THREAD_WAIT_STATUS
- PLAN_TABLE
- SYS_DUMMY
- V_INSTANCE
- V_MYSTAT
- V_SESSION
- V$GLOBAL_TRANSACTION
- V$LOCK
- V$NLS_PARAMETERS
- V$OPEN_CURSOR
- V$SESSION_WAIT
- V$SYSSTAT
- V$SYSTEM_EVENT
- V$VERSION
-
分区表
-
Schema
- Information Schema
-
DBE_PERF Schema
- OS
- Instance
- Memory
- File
-
Object
- STAT_USER_TABLES
- SUMMARY_STAT_USER_TABLES
- GLOBAL_STAT_USER_TABLES
- STAT_USER_INDEXES
- SUMMARY_STAT_USER_INDEXES
- GLOBAL_STAT_USER_INDEXES
- STAT_SYS_TABLES
- SUMMARY_STAT_SYS_TABLES
- GLOBAL_STAT_SYS_TABLES
- STAT_SYS_INDEXES
- SUMMARY_STAT_SYS_INDEXES
- GLOBAL_STAT_SYS_INDEXES
- STAT_ALL_TABLES
- SUMMARY_STAT_ALL_TABLES
- GLOBAL_STAT_ALL_TABLES
- STAT_ALL_INDEXES
- SUMMARY_STAT_ALL_INDEXES
- GLOBAL_STAT_ALL_INDEXES
- STAT_DATABASE
- SUMMARY_STAT_DATABASE
- GLOBAL_STAT_DATABASE
- STAT_DATABASE_CONFLICTS
- SUMMARY_STAT_DATABASE_CONFLICTS
- GLOBAL_STAT_DATABASE_CONFLICTS
- STAT_XACT_ALL_TABLES
- SUMMARY_STAT_XACT_ALL_TABLES
- GLOBAL_STAT_XACT_ALL_TABLES
- STAT_XACT_SYS_TABLES
- SUMMARY_STAT_XACT_SYS_TABLES
- GLOBAL_STAT_XACT_SYS_TABLES
- STAT_XACT_USER_TABLES
- SUMMARY_STAT_XACT_USER_TABLES
- GLOBAL_STAT_XACT_USER_TABLES
- STAT_XACT_USER_FUNCTIONS
- SUMMARY_STAT_XACT_USER_FUNCTIONS
- GLOBAL_STAT_XACT_USER_FUNCTIONS
- STAT_BAD_BLOCK
- SUMMARY_STAT_BAD_BLOCK
- GLOBAL_STAT_BAD_BLOCK
- STAT_USER_FUNCTIONS
- SUMMARY_STAT_USER_FUNCTIONS
- GLOBAL_STAT_USER_FUNCTIONS
- PDB Info
- Workload
-
Session/Thread
- SESSION_STAT
- GLOBAL_SESSION_STAT
- SESSION_TIME
- GLOBAL_SESSION_TIME
- SESSION_MEMORY
- GLOBAL_SESSION_MEMORY
- SESSION_MEMORY_DETAIL
- GLOBAL_SESSION_MEMORY_DETAIL
- SESSION_STAT_ACTIVITY
- GLOBAL_SESSION_STAT_ACTIVITY
- THREAD_WAIT_STATUS
- GLOBAL_THREAD_WAIT_STATUS
- LOCAL_THREADPOOL_STATUS
- GLOBAL_THREADPOOL_STATUS
- SESSION_CPU_RUNTIME
- SESSION_MEMORY_RUNTIME
- STATEMENT_IOSTAT_COMPLEX_RUNTIME
- LOCAL_ACTIVE_SESSION
- Transaction
-
Query
- STATEMENT
- SUMMARY_STATEMENT
- STATEMENT_COUNT
- GLOBAL_STATEMENT_COUNT
- SUMMARY_STATEMENT_COUNT
- GLOBAL_STATEMENT_COMPLEX_HISTORY
- GLOBAL_STATEMENT_COMPLEX_HISTORY_TABLE
- GLOBAL_STATEMENT_COMPLEX_RUNTIME
- STATEMENT_RESPONSETIME_PERCENTILE
- STATEMENT_USER_COMPLEX_HISTORY
- STATEMENT_COMPLEX_RUNTIME
- STATEMENT_COMPLEX_HISTORY_TABLE
- STATEMENT_COMPLEX_HISTORY
- STATEMENT_WLMSTAT_COMPLEX_RUNTIME
- STATEMENT_HISTORY
- GLOBAL_SLOW_QUERY_HISTORY
- GLOBAL_SLOW_QUERY_INFO
- SESSION_SQL_MEMORY
-
Cache/IO
- STATIO_USER_TABLES
- SUMMARY_STATIO_USER_TABLES
- GLOBAL_STATIO_USER_TABLES
- STATIO_USER_INDEXES
- SUMMARY_STATIO_USER_INDEXES
- GLOBAL_STATIO_USER_INDEXES
- STATIO_USER_SEQUENCES
- SUMMARY_STATIO_USER_SEQUENCES
- GLOBAL_STATIO_USER_SEQUENCES
- STATIO_SYS_TABLES
- SUMMARY_STATIO_SYS_TABLES
- GLOBAL_STATIO_SYS_TABLES
- STATIO_SYS_INDEXES
- SUMMARY_STATIO_SYS_INDEXES
- GLOBAL_STATIO_SYS_INDEXES
- STATIO_SYS_SEQUENCES
- SUMMARY_STATIO_SYS_SEQUENCES
- GLOBAL_STATIO_SYS_SEQUENCES
- STATIO_ALL_TABLES
- SUMMARY_STATIO_ALL_TABLES
- GLOBAL_STATIO_ALL_TABLES
- STATIO_ALL_INDEXES
- SUMMARY_STATIO_ALL_INDEXES
- GLOBAL_STATIO_ALL_INDEXES
- STATIO_ALL_SEQUENCES
- SUMMARY_STATIO_ALL_SEQUENCES
- GLOBAL_STATIO_ALL_SEQUENCES
-
Utility
- REPLICATION_STAT
- GLOBAL_REPLICATION_STAT
- REPLICATION_SLOTS
- GLOBAL_REPLICATION_SLOTS
- BGWRITER_STAT
- GLOBAL_BGWRITER_STAT
- GLOBAL_CKPT_STATUS
- GLOBAL_DOUBLE_WRITE_STATUS
- GLOBAL_PAGEWRITER_STATUS
- GLOBAL_RECORD_RESET_TIME
- GLOBAL_REDO_STATUS
- GLOBAL_RECOVERY_STATUS
- CLASS_VITAL_INFO
- USER_LOGIN
- SUMMARY_USER_LOGIN
- GLOBAL_SINGLE_FLUSH_DW_STATUS
- GLOBAL_CANDIDATE_STATUS
- PARALLEL_DECODE_STATUS
- GLOBAL_PARALLEL_DECODE_STATUS
- PARALLEL_DECODE_THREAD_INFO
- GLOBAL_PARALLEL_DECODE_THREAD_INFO
- GLOBAL_ADIO_COMPLETER_STATUS
- GLOBAL_AIO_SLOT_USAGE_STATUS
- Lock
- Wait Events
- Configuration
- Operator
- Workload Manager
- Global Plancache
- RTO & RPO
- AI Watchdog
- Trace Function
-
DBE_PLDEBUGGER Schema
- DBE_PLDEBUGGER.turn_on
- DBE_PLDEBUGGER.turn_off
- DBE_PLDEBUGGER.local_debug_server_info
- DBE_PLDEBUGGER.attach
- DBE_PLDEBUGGER.info_locals
- DBE_PLDEBUGGER.next
- DBE_PLDEBUGGER.continue
- DBE_PLDEBUGGER.abort
- DBE_PLDEBUGGER.print_var
- DBE_PLDEBUGGER.info_code
- DBE_PLDEBUGGER.step
- DBE_PLDEBUGGER.add_breakpoint
- DBE_PLDEBUGGER.delete_breakpoint
- DBE_PLDEBUGGER.info_breakpoints
- DBE_PLDEBUGGER.backtrace
- DBE_PLDEBUGGER.enable_breakpoint
- DBE_PLDEBUGGER.disable_breakpoint
- DBE_PLDEBUGGER.finish
- DBE_PLDEBUGGER.set_var
- DBE_PLDEBUGGER.error_backtrace
- DBE_PLDEBUGGER.error_end
- DBE_PLDEBUGGER.error_info_locals
- DB4AI Schema
- DBE_PLDEVELOPER
- DBE_SQL_UTIL Schema
-
配置运行参数
- 查看参数
- 设置参数
-
GUC参数说明
- GUC使用说明
- 文件位置
- 连接和认证
- 资源消耗
- 数据导入导出
- 预写式日志
- 双机复制
- 查询规划
- SPM计划管理
- 错误报告和日志
- 告警上报
- 运行时统计
- 负载管理
- 自动清理
- 客户端连接缺省设置
- 锁管理
- 版本和平台兼容性
- 容错性
- 连接池参数
- 事务
- 双数据库实例复制参数
- 开发人员选项
- 审计
- CM相关参数
- 升级参数
- 其它选项
- 等待事件
- Query
- 系统性能快照
- 黑匣子相关参数
- 安全配置
- 全局临时表
- HyperLogLog
- 用户自定义函数
- 定时任务
- 线程池
- 备份恢复
- Undo
- DCF参数设置
- 闪回相关参数
- 回滚相关参数
- AI特性
- Global SysCache参数
- 备机数据修复
- 分隔符
- Global PLsql Cache特性参数
- 账本数据库参数
- 在线创建索引
- 在线DDL
- 数据生命周期管理-OLTP表压缩
- 向量数据库参数
- Enhanced Toast
- 应用无损透明
- 预留参数
- HTAP混合负载
- 多租数据库
-
FAQ
- GaussDB单表支持的最大列数?
- 如何查询分区表分区信息和索引信息?
- 什么是OID?
- 什么是UDF?
- GaussDB都有哪些通配符,如何使用?
- 数据库对象名称的长度是否有限制?
- 如何查看某张表创建时间?
- 如何并行创建索引?
- 如何创建自动递增列?
- GaussDB数据库能否通过SQL查询内存的使用情况?
- LIMIT 2、LIMIT 2,3、LIMIT 2 OFFSET 3的区别?
- 如何创建默认为当前时间的列?
- 如何判断字段是否为NULL?
- 如何获取当前连接数据库的用户名?
- 如何查询两个时间的时间差?
- SQL语言分为哪几类?
- 触发器的作用是什么?
- 数据库事务正确执行的四个特性是什么?
- GaussDB的DROP、TRUNCATE、DELETE这三种删除数据的方式主要区别是什么?
- GaussDB数据库一个汉字占几个字节?
- 如何设置账号的有效期?
- 唯一约束和唯一索引有什么区别?
- GaussDB如何创建弱口令?
- 什么是脏读、幻读、不可重复读?
- 什么是MVCC?
- 日期/时间类型哪些带时区,哪些不带时区?
- count(*)和count(column)的区别是什么?
- 空字符串和NULL的关系是什么?
- WAL日志是什么,日志文件路径是什么?
- GaussDB中模式、用户和角色如何理解?
- GaussDB支持动态内存管理吗?
- 以pg_temp或pg_toast_temp开头的SCHEMA是什么?
- 函数和存储过程的区别是什么?
- 为什么REVOKE某个用户的CONNECT ON DATABASE权限后还可以登录数据库?
- 全表关联UPDATE时,如何提升效率?
- 使用LIKE进行模糊查找时如何忽略大小写?
- 在使用了字符串处理函数后查询就不使用索引,该如何处理?
- 为什么查询中无法识别表名或者列名?
-
开发指南(分布式_V2.0-3.x)
- 数据库系统概述
- 数据库安全
- 数据库使用入门
- 开发设计建议
-
应用程序开发教程
- 开发规范
- 获取驱动包
-
基于JDBC开发
- 开发流程
- 开发步骤
- 典型应用开发示例
-
JDBC接口参考
- java.sql.Connection
- java.sql.CallableStatement
- java.sql.DatabaseMetaData
- java.sql.Driver
- java.sql.PreparedStatement
- java.sql.ResultSet
- java.sql.ResultSetMetaData
- java.sql.Statement
- javax.sql.ConnectionPoolDataSource
- javax.sql.DataSource
- javax.sql.PooledConnection
- javax.naming.Context
- javax.naming.spi.InitialContextFactory
- CopyManager
- PGReplicationConnection
- PGReplicationStream
- ChainedStreamBuilder
- ChainedCommonStreamBuilder
- 基于ODBC开发
- 基于libpq开发
- 基于Psycopg开发
- 基于ecpg开发
- 基于Go驱动开发
- 附录
-
SQL调优指南
- Query执行流程
- SQL执行计划介绍
- 调优流程
- 更新统计信息
- 审视和修改表定义
- 典型SQL调优点
- 经验总结:SQL语句改写规则
- SQL调优关键参数调整
-
使用Plan Hint进行调优
- Plan Hint调优概述
- 指定Hint所处的查询块Queryblock
- Hint可以指定表的查询块名和schema名
- Join顺序的Hint
- Join方式的Hint
- 行数的Hint
- Stream方式的Hint
- Scan方式的Hint
- 子链接块名的hint
- 运行倾斜的hint
- 参数化路径的Hint
- Hint的错误、冲突及告警
- 优化器GUC参数的Hint
- Custom Plan和Generic Plan选择的Hint
- 指定子查询不展开的Hint
- 指定不使用全局计划缓存的Hint
- 同层参数化路径的Hint
- 设置慢SQL管控规则的Hint
- 支持bitmapscan的hint
- 连接时内表物化的Hint
- 指定agg算法的Hint
- 检查隐式转换的性能问题
- 使用SQL PATCH进行调优
- 实际调优案例
-
SQL参考
- SQL
- 关键字
- 数据类型
- 常量与宏
-
函数和操作符
- 逻辑操作符
- 比较操作符
- 字符处理函数和操作符
- 二进制字符串函数和操作符
- 位串函数和操作符
- 模式匹配操作符
- 数字操作函数和操作符
- 时间和日期处理函数和操作符
- 类型转换函数
- 几何函数和操作符
- 网络地址函数和操作符
- 文本检索函数和操作符
- JSON/JSONB函数和操作符
- HLL函数和操作符
- SEQUENCE函数
- 数组函数和操作符
- 范围函数和操作符
- 聚集函数
- 窗口函数
- 安全函数
- 密态函数和操作符
- 返回集合的函数
- 条件表达式函数
- 系统信息函数
- 系统管理函数
- 统计信息函数
- 触发器函数
- HashFunc函数
- 提示信息函数
- 故障注入系统函数
- 重分布函数
- 分布列推荐函数
- 其他系统函数
- 内部函数
- AI特性函数
- 动态数据脱敏函数
- hotkey特性函数
- Global SysCache特性函数
- 数据损坏检测修复函数
- XML类型函数
- XMLTYPE类型函数
- 废弃函数
- 表达式
- 伪列
- 类型转换
- 系统操作
- 事务控制
- DDL语法一览表
- DML语法一览表
- DCL语法一览表
-
SQL语法
- SQL语法格式说明
- ABORT
- ALTER AUDIT POLICY
- ALTER COLUMN ENCRYPTION KEY
- ALTER COORDINATOR
- ALTER DATABASE
- ALTER DATABASE LINK
- ALTER DEFAULT PRIVILEGES
- ALTER DIRECTORY
- ALTER FOREIGN DATA WRAPPER
- ALTER FUNCTION
- ALTER GLOBAL CONFIGURATION
- ALTER GROUP
- ALTER INDEX
- ALTER LANGUAGE
- ALTER MASKING POLICY
- ALTER MATERIALIZED VIEW
- ALTER NODE
- ALTER NODE GROUP
- ALTER RESOURCE LABEL
- ALTER ROLE
- ALTER ROW LEVEL SECURITY POLICY
- ALTER SCHEMA
- ALTER SEQUENCE
- ALTER SERVER
- ALTER SESSION
- ALTER SYNONYM
- ALTER SYSTEM KILL SESSION
- ALTER TABLE
- ALTER TABLE PARTITION
- ALTER TABLESPACE
- ALTER TRIGGER
- ALTER TYPE
- ALTER USER
- ALTER VIEW
- ANALYZE | ANALYSE
- BEGIN
- CALL
- CHECKPOINT
- CLEAN CONNECTION
- CLOSE
- CLUSTER
- COMMENT
- COMMIT | END
- COMMIT PREPARED
- COPY
- CREATE AUDIT POLICY
- CREATE BARRIER
- CREATE CLIENT MASTER KEY
- CREATE COLUMN ENCRYPTION KEY
- CREATE CONVERSION
- CREATE DATABASE
- CREATE DATABASE LINK
- CREATE DIRECTORY
- CREATE FOREIGN DATA WRAPPER
- CREATE FUNCTION
- CREATE GLOBAL INDEX
- CREATE GROUP
- CREATE INCREMENTAL MATERIALIZED VIEW
- CREATE INDEX
- CREATE LANGUAGE
- CREATE MASKING POLICY
- CREATE MATERIALIZED VIEW
- CREATE MODEL
- CREATE NODE
- CREATE NODE GROUP
- CREATE PROCEDURE
- CREATE RESOURCE LABEL
- CREATE ROLE
- CREATE ROW LEVEL SECURITY POLICY
- CREATE SCHEMA
- CREATE SEQUENCE
- CREATE SERVER
- CREATE SYNONYM
- CREATE TABLE
- CREATE TABLESPACE
- CREATE TABLE AS
- CREATE TABLE PARTITION
- CREATE TRIGGER
- CREATE TYPE
- CREATE USER
- CREATE VIEW
- CREATE WEAK PASSWORD DICTIONARY
- CURSOR
- DEALLOCATE
- DECLARE
- DELETE
- DO
- DROP AUDIT POLICY
- DROP CLIENT MASTER KEY
- DROP COLUMN ENCRYPTION KEY
- DROP DATABASE
- DROP DATABASE LINK
- DROP DIRECTORY
- DROP FOREIGN DATA WRAPPER
- DROP FUNCTION
- DROP GLOBAL CONFIGURATION
- DROP GROUP
- DROP INDEX
- DROP LANGUAGE
- DROP MASKING POLICY
- DROP MATERIALIZED VIEW
- DROP MODEL
- DROP NODE
- DROP NODE GROUP
- DROP OWNED
- DROP PROCEDURE
- DROP RESOURCE LABEL
- DROP ROLE
- DROP ROW LEVEL SECURITY POLICY
- DROP SCHEMA
- DROP SEQUENCE
- DROP SERVER
- DROP SYNONYM
- DROP TABLE
- DROP TABLESPACE
- DROP TRIGGER
- DROP TYPE
- DROP USER
- DROP VIEW
- DROP WEAK PASSWORD DICTIONARY
- EXECUTE
- EXECUTE DIRECT
- EXPDP DATABASE
- EXPDP TABLE
- EXPLAIN
- EXPLAIN PLAN
- FETCH
- GRANT
- IMPDP DATABASE CREATE
- IMPDP RECOVER
- INSERT
- IMPDP TABLE
- IMPDP TABLE PREPARE
- LOCK
- MOVE
- MERGE INTO
- PREDICT BY
- PREPARE
- PREPARE TRANSACTION
- PURGE
- REASSIGN OWNED
- REINDEX
- REFRESH INCREMENTAL MATERIALIZED VIEW
- REFRESH MATERIALIZED VIEW
- RELEASE SAVEPOINT
- RESET
- REVOKE
- ROLLBACK
- ROLLBACK PREPARED
- ROLLBACK TO SAVEPOINT
- SAVEPOINT
- SELECT
- SELECT INTO
- SET
- SET CONSTRAINTS
- SET ROLE
- SET SESSION AUTHORIZATION
- SET TRANSACTION
- SHOW
- SHUTDOWN
- START TRANSACTION
- TIMECAPSULE TABLE
- TRUNCATE
- UPDATE
- VACUUM
- VALUES
- 附录
- 最佳实践
- 用户自定义函数
- 存储过程
- 自治事务
-
系统表和系统视图
- 系统表和系统视图概述
-
系统表
- GS_AUDITING_POLICY
- GS_AUDITING_POLICY_ACCESS
- GS_AUDITING_POLICY_FILTERS
- GS_AUDITING_POLICY_PRIVILEGES
- GS_ASP
- GS_CLIENT_GLOBAL_KEYS
- GS_CLIENT_GLOBAL_KEYS_ARGS
- GS_COLUMN_KEYS
- GS_COLUMN_KEYS_ARGS
- GS_DATABASE_LINK
- GS_DB_PRIVILEGE
- GS_DEPENDENCIES
- GS_DEPENDENCIES_OBJ
- GS_ENCRYPTED_COLUMNS
- GS_ENCRYPTED_PROC
- GS_GLOBAL_CONFIG
- GS_JOB_ATTRIBUTE
- GS_JOB_ARGUMENT
- GS_MASKING_POLICY
- GS_MASKING_POLICY_ACTIONS
- GS_MASKING_POLICY_FILTERS
- GS_MATVIEW
- GS_MATVIEW_DEPENDENCY
- GS_MODEL_WAREHOUSE
- GS_OPT_MODEL
- GS_PLAN_TRACE
- GS_POLICY_LABEL
- GS_RECYCLEBIN
- GS_SQL_PATCH
- GS_TXN_SNAPSHOT
- GS_UID
- GS_WORKLOAD_RULE
- PG_AGGREGATE
- PG_AM
- PG_AMOP
- PG_AMPROC
- PG_APP_WORKLOADGROUP_MAPPING
- PG_ATTRDEF
- PG_ATTRIBUTE
- PG_AUTHID
- PG_AUTH_HISTORY
- PG_AUTH_MEMBERS
- PG_CAST
- PG_CLASS
- PG_COLLATION
- PG_CONSTRAINT
- PG_CONVERSION
- PG_DATABASE
- PG_DB_ROLE_SETTING
- PG_DEFAULT_ACL
- PG_DEPEND
- PG_DESCRIPTION
- PG_DIRECTORY
- PG_ENUM
- PG_EXTENSION
- PG_FOREIGN_DATA_WRAPPER
- PG_FOREIGN_SERVER
- PG_HASHBUCKET
- PG_INDEX
- PG_INHERITS
- PG_JOB
- PG_JOB_PROC
- PG_LANGUAGE
- PG_LARGEOBJECT
- PG_LARGEOBJECT_METADATA
- PG_NAMESPACE
- PG_OBJECT
- PG_OPCLASS
- PG_OPERATOR
- PG_OPFAMILY
- PG_PARTITION
- PG_PLTEMPLATE
- PG_PROC
- PG_RANGE
- PG_REPLICATION_ORIGIN
- PG_RESOURCE_POOL
- PG_REWRITE
- PG_RLSPOLICY
- PG_SECLABEL
- PG_SET
- PG_SHDEPEND
- PG_SHDESCRIPTION
- PG_SHSECLABEL
- PG_STATISTIC
- PG_STATISTIC_EXT
- PG_SYNONYM
- PG_TABLESPACE
- PG_TRIGGER
- PG_TS_CONFIG
- PG_TS_CONFIG_MAP
- PG_TS_DICT
- PG_TS_PARSER
- PG_TS_TEMPLATE
- PG_TYPE
- PG_USER_MAPPING
- PG_USER_STATUS
- PGXC_CLASS
- PGXC_GROUP
- PGXC_NODE
- PGXC_REDISTB
- PGXC_SLICE
- PLAN_TABLE_DATA
- STATEMENT_HISTORY
- STREAMING_STREAM
- STREAMING_CONT_QUERY
-
系统视图
- ADM_ARGUMENTS
- ADM_AUDIT_OBJECT
- ADM_AUDIT_SESSION
- ADM_AUDIT_STATEMENT
- ADM_AUDIT_TRAIL
- ADM_COL_COMMENTS
- ADM_COL_PRIVS
- ADM_COLL_TYPES
- ADM_CONS_COLUMNS
- ADM_CONSTRAINTS
- ADM_DATA_FILES
- ADM_DEPENDENCIES
- ADM_DIRECTORIES
- ADM_HIST_SNAPSHOT
- ADM_HIST_SQL_PLAN
- ADM_HIST_SQLSTAT
- ADM_HIST_SQLTEXT
- ADM_IND_COLUMNS
- ADM_IND_EXPRESSIONS
- ADM_IND_PARTITIONS
- ADM_IND_SUBPARTITIONS
- ADM_INDEXES
- ADM_OBJECTS
- ADM_PART_COL_STATISTICS
- ADM_PART_INDEXES
- ADM_PART_TABLES
- ADM_PROCEDURES
- ADM_ROLE_PRIVS
- ADM_ROLES
- ADM_SCHEDULER_JOB_ARGS
- ADM_SCHEDULER_JOBS
- ADM_SCHEDULER_PROGRAM_ARGS
- ADM_SCHEDULER_PROGRAMS
- ADM_SCHEDULER_RUNNING_JOBS
- ADM_SEGMENTS
- ADM_SEQUENCES
- ADM_SOURCE
- ADM_SUBPART_KEY_COLUMNS
- ADM_SYNONYMS
- ADM_SYS_PRIVS
- ADM_TAB_COLS
- ADM_TAB_COL_STATISTICS
- ADM_TAB_COLUMNS
- ADM_TAB_COMMENTS
- ADM_TAB_HISTOGRAMS
- ADM_TAB_PARTITIONS
- ADM_TAB_PRIVS
- ADM_TAB_STATISTICS
- ADM_TAB_STATS_HISTORY
- ADM_TABLES
- ADM_TABLESPACES
- ADM_TRIGGERS
- ADM_TYPES
- ADM_TYPE_ATTRS
- ADM_USERS
- ADM_VIEWS
- COMM_CLIENT_INFO
- DB_ALL_TABLES
- DB_ARGUMENTS
- DB_COL_COMMENTS
- DB_COL_PRIVS
- DB_COLL_TYPES
- DB_CONSTRAINTS
- DB_CONS_COLUMNS
- DB_DEPENDENCIES
- DB_IND_COLUMNS
- DB_IND_EXPRESSIONS
- DB_IND_PARTITIONS
- DB_IND_SUBPARTITIONS
- DB_INDEXES
- DB_OBJECTS
- DB_PART_COL_STATISTICS
- DB_PART_KEY_COLUMNS
- DB_PART_TABLES
- DB_PROCEDURES
- DB_SCHEDULER_JOB_ARGS
- DB_SCHEDULER_PROGRAM_ARGS
- DB_SEQUENCES
- DB_SOURCE
- DB_SUBPART_KEY_COLUMNS
- DB_SYNONYMS
- DB_TAB_COL_STATISTICS
- DB_TAB_COLUMNS
- DB_TAB_COMMENTS
- DB_TAB_HISTOGRAMS
- DB_TAB_PARTITIONS
- DB_TAB_STATS_HISTORY
- DB_TAB_SUBPARTITIONS
- DB_TABLES
- DB_TRIGGERS
- DB_TYPES
- DB_USERS
- DB_VIEWS
- DICT
- DICTIONARY
- DV_SESSIONS
- DV_SESSION_LONGOPS
- GET_GLOBAL_PREPARED_XACTS
- GLOBAL_BAD_BLOCK_INFO
- GLOBAL_CLEAR_BAD_BLOCK_INFO
- GLOBAL_COMM_CLIENT_INFO
- GLOBAL_SQL_PATCH
- GLOBAL_STAT_HOTKEYS_INFO
- GLOBAL_WAL_SENDER_STATUS
- GS_ALL_CONTROL_GROUP_INFO
- GS_ALL_PREPARED_STATEMENTS
- GS_AUDITING
- GS_AUDITING_ACCESS
- GS_AUDITING_PRIVILEGE
- GS_CLUSTER_RESOURCE_INFO
- GS_COMM_LISTEN_ADDRESS_EXT_INFO
- GS_DB_LINKS
- GS_DB_PRIVILEGES
- GS_GET_CONTROL_GROUP_INFO
- GS_GET_LISTEN_ADDRESS_EXT_INFO
- GS_GLOBAL_ARCHIVE_STATUS
- GS_GSC_MEMORY_DETAIL
- GS_LABELS
- GS_LSC_MEMORY_DETAIL
- GS_MASKING
- GS_MATVIEWS
- GS_MY_PLAN_TRACE
- GS_SESSION_ALL_SETTINGS
- GS_SQL_COUNT
- GS_STAT_ALL_PARTITIONS
- GS_STAT_XACT_ALL_PARTITIONS
- GS_STATIO_ALL_PARTITIONS
- GS_WORKLOAD_RULE_STAT
- GV_INSTANCE
- GV_SESSION
- MPP_TABLES
- MY_COL_COMMENTS
- MY_COL_PRIVS
- MY_COLL_TYPES
- MY_CONS_COLUMNS
- MY_CONSTRAINTS
- MY_DEPENDENCIES
- MY_IND_COLUMNS
- MY_IND_EXPRESSIONS
- MY_IND_PARTITIONS
- MY_IND_SUBPARTITIONS
- MY_INDEXES
- MY_JOBS
- MY_OBJECTS
- MY_PART_COL_STATISTICS
- MY_PART_INDEXES
- MY_PART_KEY_COLUMNS
- MY_PART_TABLES
- MY_PROCEDURES
- MY_ROLE_PRIVS
- MY_SCHEDULER_JOB_ARGS
- MY_SCHEDULER_PROGRAM_ARGS
- MY_SEQUENCES
- MY_SOURCE
- MY_SUBPART_KEY_COLUMNS
- MY_SYNONYMS
- MY_SYS_PRIVS
- MY_TAB_COL_STATISTICS
- MY_TAB_COLUMNS
- MY_TAB_COMMENTS
- MY_TAB_HISTOGRAMS
- MY_TAB_PARTITIONS
- MY_TAB_STATISTICS
- MY_TAB_STATS_HISTORY
- MY_TABLES
- MY_TABLESPACES
- MY_TRIGGERS
- MY_TYPE_ATTRS
- MY_TYPES
- MY_VIEWS
- NLS_DATABASE_PARAMETERS
- NLS_INSTANCE_PARAMETERS
- PG_AVAILABLE_EXTENSION_VERSIONS
- PG_AVAILABLE_EXTENSIONS
- PG_COMM_DELAY
- PG_COMM_RECV_STREAM
- PG_COMM_SEND_STREAM
- PG_COMM_STATUS
- PG_CONTROL_GROUP_CONFIG
- PG_CURSORS
- PG_EXT_STATS
- PG_GET_INVALID_BACKENDS
- PG_GET_SENDERS_CATCHUP_TIME
- PG_GROUP
- PG_INDEXES
- PG_LOCKS
- PG_NODE_ENV
- PG_OS_THREADS
- PG_POOLER_STATUS
- PG_PREPARED_STATEMENTS
- PG_PREPARED_XACTS
- PG_REPLICATION_SLOTS
- PG_RLSPOLICIES
- PG_ROLES
- PG_RULES
- PG_RUNNING_XACTS
- PG_SECLABELS
- PG_SETTINGS
- PG_SHADOW
- PG_SHARED_MEMORY_DETAIL
- PG_STAT_ACTIVITY
- PG_STAT_ALL_INDEXES
- PG_STAT_ALL_TABLES
- PG_STAT_BAD_BLOCK
- PG_STAT_BGWRITER
- PG_STAT_DATABASE
- PG_STAT_DATABASE_CONFLICTS
- PG_STAT_REPLICATION
- PG_STAT_SYS_INDEXES
- PG_STAT_SYS_TABLES
- PG_STAT_USER_FUNCTIONS
- PG_STAT_USER_INDEXES
- PG_STAT_USER_TABLES
- PG_STAT_XACT_ALL_TABLES
- PG_STAT_XACT_SYS_TABLES
- PG_STAT_XACT_USER_FUNCTIONS
- PG_STAT_XACT_USER_TABLES
- PG_STATS
- PG_STATIO_ALL_INDEXES
- PG_STATIO_ALL_SEQUENCES
- PG_STATIO_ALL_TABLES
- PG_STATIO_SYS_INDEXES
- PG_STATIO_SYS_SEQUENCES
- PG_STATIO_SYS_TABLES
- PG_STATIO_USER_INDEXES
- PG_STATIO_USER_SEQUENCES
- PG_STATIO_USER_TABLES
- PG_THREAD_WAIT_STATUS
- PG_TABLES
- PG_TDE_INFO
- PG_TIMEZONE_ABBREVS
- PG_TIMEZONE_NAMES
- PG_TOTAL_MEMORY_DETAIL
- PG_TOTAL_USER_RESOURCE_INFO
- PG_TOTAL_USER_RESOURCE_INFO_OID
- PG_USER
- PG_USER_MAPPINGS
- PG_VARIABLE_INFO
- PG_VIEWS
- PGXC_COMM_DELAY
- PGXC_COMM_RECV_STREAM
- PGXC_COMM_SEND_STREAM
- PGXC_COMM_STATUS
- PGXC_GET_STAT_ALL_TABLES
- PGXC_GET_TABLE_SKEWNESS
- PGXC_NODE_ENV
- PGXC_OS_THREADS
- PGXC_PREPARED_XACTS
- PGXC_RUNNING_XACTS
- PGXC_SQL_COUNT
- PGXC_STAT_ACTIVITY
- PGXC_STAT_BAD_BLOCK
- PGXC_THREAD_WAIT_STATUS
- PGXC_TOTAL_MEMORY_DETAIL
- PGXC_VARIABLE_INFO
- PLAN_TABLE
- PV_FILE_STAT
- PV_INSTANCE_TIME
- PV_OS_RUN_INFO
- PV_REDO_STAT
- PV_SESSION_MEMORY
- PV_SESSION_MEMORY_CONTEXT
- PV_SESSION_MEMORY_DETAIL
- PV_SESSION_STAT
- PV_SESSION_TIME
- PV_THREAD_MEMORY_CONTEXT
- PV_TOTAL_MEMORY_DETAIL
- ROLE_ROLE_PRIVS
- ROLE_SYS_PRIVS
- ROLE_TAB_PRIVS
- SYS_DUMMY
- V_INSTANCE
- V_MYSTAT
- V_SESSION
- V$NLS_PARAMETERS
- V$SESSION_WAIT
- V$SYSSTAT
- V$SYSTEM_EVENT
- V$VERSION
-
Schema
- Information Schema
-
DBE_PERF Schema
- OS
- Instance
- Memory
- File
-
Object
- STAT_USER_TABLES
- SUMMARY_STAT_USER_TABLES
- GLOBAL_STAT_USER_TABLES
- STAT_USER_INDEXES
- SUMMARY_STAT_USER_INDEXES
- GLOBAL_STAT_USER_INDEXES
- STAT_SYS_TABLES
- SUMMARY_STAT_SYS_TABLES
- GLOBAL_STAT_SYS_TABLES
- STAT_SYS_INDEXES
- SUMMARY_STAT_SYS_INDEXES
- GLOBAL_STAT_SYS_INDEXES
- STAT_ALL_TABLES
- SUMMARY_STAT_ALL_TABLES
- GLOBAL_STAT_ALL_TABLES
- STAT_ALL_INDEXES
- SUMMARY_STAT_ALL_INDEXES
- GLOBAL_STAT_ALL_INDEXES
- STAT_DATABASE
- SUMMARY_STAT_DATABASE
- GLOBAL_STAT_DATABASE
- STAT_DATABASE_CONFLICTS
- SUMMARY_STAT_DATABASE_CONFLICTS
- GLOBAL_STAT_DATABASE_CONFLICTS
- STAT_XACT_ALL_TABLES
- SUMMARY_STAT_XACT_ALL_TABLES
- GLOBAL_STAT_XACT_ALL_TABLES
- STAT_XACT_SYS_TABLES
- SUMMARY_STAT_XACT_SYS_TABLES
- GLOBAL_STAT_XACT_SYS_TABLES
- STAT_XACT_USER_TABLES
- SUMMARY_STAT_XACT_USER_TABLES
- GLOBAL_STAT_XACT_USER_TABLES
- STAT_XACT_USER_FUNCTIONS
- SUMMARY_STAT_XACT_USER_FUNCTIONS
- GLOBAL_STAT_XACT_USER_FUNCTIONS
- STAT_BAD_BLOCK
- SUMMARY_STAT_BAD_BLOCK
- GLOBAL_STAT_BAD_BLOCK
- STAT_USER_FUNCTIONS
- SUMMARY_STAT_USER_FUNCTIONS
- GLOBAL_STAT_USER_FUNCTIONS
- Workload
-
Session/Thread
- SESSION_STAT
- GLOBAL_SESSION_STAT
- SESSION_TIME
- GLOBAL_SESSION_TIME
- SESSION_MEMORY
- GLOBAL_SESSION_MEMORY
- SESSION_MEMORY_DETAIL
- GLOBAL_SESSION_MEMORY_DETAIL
- SESSION_STAT_ACTIVITY
- GLOBAL_SESSION_STAT_ACTIVITY
- THREAD_WAIT_STATUS
- GLOBAL_THREAD_WAIT_STATUS
- LOCAL_THREADPOOL_STATUS
- GLOBAL_THREADPOOL_STATUS
- SESSION_CPU_RUNTIME
- SESSION_MEMORY_RUNTIME
- LOCAL_ACTIVE_SESSION
- GLOBAL_ACTIVE_SESSION
- Transaction
- Query
-
Cache/IO
- STATIO_USER_TABLES
- SUMMARY_STATIO_USER_TABLES
- GLOBAL_STATIO_USER_TABLES
- STATIO_USER_INDEXES
- SUMMARY_STATIO_USER_INDEXES
- GLOBAL_STATIO_USER_INDEXES
- STATIO_USER_SEQUENCES
- SUMMARY_STATIO_USER_SEQUENCES
- GLOBAL_STATIO_USER_SEQUENCES
- STATIO_SYS_TABLES
- SUMMARY_STATIO_SYS_TABLES
- GLOBAL_STATIO_SYS_TABLES
- STATIO_SYS_INDEXES
- SUMMARY_STATIO_SYS_INDEXES
- GLOBAL_STATIO_SYS_INDEXES
- STATIO_SYS_SEQUENCES
- SUMMARY_STATIO_SYS_SEQUENCES
- GLOBAL_STATIO_SYS_SEQUENCES
- STATIO_ALL_TABLES
- SUMMARY_STATIO_ALL_TABLES
- GLOBAL_STATIO_ALL_TABLES
- STATIO_ALL_INDEXES
- SUMMARY_STATIO_ALL_INDEXES
- GLOBAL_STATIO_ALL_INDEXES
- STATIO_ALL_SEQUENCES
- SUMMARY_STATIO_ALL_SEQUENCES
- GLOBAL_STATIO_ALL_SEQUENCES
- Comm
-
Utility
- REPLICATION_STAT
- GLOBAL_REPLICATION_STAT
- REPLICATION_SLOTS
- GLOBAL_REPLICATION_SLOTS
- PARALLEL_DECODE_STATUS
- GLOBAL_PARALLEL_DECODE_STATUS
- PARALLEL_DECODE_THREAD_INFO
- GLOBAL_PARALLEL_DECODE_THREAD_INFO
- BGWRITER_STAT
- GLOBAL_BGWRITER_STAT
- POOLER_STATUS
- GLOBAL_COMM_CHECK_CONNECTION_STATUS
- GLOBAL_CKPT_STATUS
- GLOBAL_DOUBLE_WRITE_STATUS
- GLOBAL_PAGEWRITER_STATUS
- GLOBAL_POOLER_STATUS
- GLOBAL_RECORD_RESET_TIME
- GLOBAL_REDO_STATUS
- GLOBAL_RECOVERY_STATUS
- CLASS_VITAL_INFO
- USER_LOGIN
- SUMMARY_USER_LOGIN
- GLOBAL_GET_BGWRITER_STATUS
- GLOBAL_SINGLE_FLUSH_DW_STATUS
- GLOBAL_CANDIDATE_STATUS
- Lock
- Wait Events
- Configuration
- Operator
- Workload Manager
- Global Plancache
- RTO & RPO
- AI Watchdog
- 废弃
-
DBE_SQL_UTIL Schema
- DBE_SQL_UTIL.create_hint_sql_patch
- DBE_SQL_UTIL.create_abort_sql_patch
- DBE_SQL_UTIL.drop_sql_patch
- DBE_SQL_UTIL.enable_sql_patch
- DBE_SQL_UTIL.disable_sql_patch
- DBE_SQL_UTIL.show_sql_patch
- DBE_SQL_UTIL.create_hint_sql_patch
- DBE_SQL_UTIL.create_abort_sql_patch
- DBE_SQL_UTIL.create_remote_hint_sql_patch
- DBE_SQL_UTIL.create_remote_abort_sql_patch
- DBE_SQL_UTIL.drop_remote_sql_patch
- DBE_SQL_UTIL.enable_remote_sql_patch
- DBE_SQL_UTIL.disable_remote_sql_patch
-
配置运行参数
- 查看参数
- 设置参数
- GUC参数说明
-
开发指南(集中式_V2.0-3.x)
- 数据库系统概述
- 数据库安全
- 数据库使用入门
- 开发设计建议
-
应用程序开发教程
- GaussDB应用程序开发教程
- 开发规范
- 驱动包获取
-
基于JDBC开发
- 开发流程
- 开发步骤
- 典型应用开发示例
-
JDBC接口参考
- java.sql.Connection
- java.sql.CallableStatement
- java.sql.DatabaseMetaData
- java.sql.Driver
- java.sql.PreparedStatement
- java.sql.ResultSet
- java.sql.ResultSetMetaData
- java.sql.Statement
- javax.sql.ConnectionPoolDataSource
- javax.sql.DataSource
- javax.sql.PooledConnection
- javax.naming.Context
- javax.naming.spi.InitialContextFactory
- CopyManager
- PGReplicationConnection
- PGReplicationStream
- ChainedStreamBuilder
- ChainedCommonStreamBuilder
- PGobject
- 基于ODBC开发
- 基于libpq开发
- 基于Psycopg开发
- 基于Go驱动开发
- 基于ecpg开发
- 附录
-
SQL调优指南
- Query执行流程
- SQL执行计划介绍
- 调优流程
- 更新统计信息
- 审视和修改表定义
- 典型SQL调优点
- 经验总结:SQL语句改写规则
- SQL调优关键参数调整
-
使用Plan Hint进行调优
- Plan Hint调优概述
- 指定Hint所处于的查询块Queryblock
- Hint可以指定表的查询块名和schema名
- Join顺序的Hint
- Join方式的Hint
- 行数的Hint
- Stream方式的Hint
- Scan方式的Hint
- 子链接块名的hint
- Hint的错误、冲突及告警
- 优化器GUC参数的Hint
- Custom Plan和Generic Plan选择的Hint
- 指定子查询不展开的Hint
- 指定不使用全局计划缓存的Hint
- 同层参数化路径的Hint
- 设置慢SQL管控规则的Hint
- 自适应计划选择的Hint
- 为子计划结果进行物化的Hint
- 支持bitmapscan的hint
- 连接时内表物化的Hint
- 指定agg算法的Hint
- PLAN TRACE使用介绍
- 使用SQL PATCH进行调优
- 实际调优案例
-
SQL参考
- SQL
- 关键字
- 数据类型
- 常量与宏
-
函数和操作符
- 逻辑操作符
- 比较操作符
- 字符处理函数和操作符
- 二进制字符串函数和操作符
- 位串函数和操作符
- 模式匹配操作符
- 数字操作函数和操作符
- 时间和日期处理函数和操作符
- 类型转换函数
- 几何函数和操作符
- 网络地址函数和操作符
- 文本检索函数和操作符
- JSON/JSONB函数和操作符
- HLL函数和操作符
- SEQUENCE函数
- 数组函数和操作符
- 范围函数和操作符
- 聚集函数
- 窗口函数
- 安全函数
- 密态函数和操作符
- 返回集合的函数
- 条件表达式函数
- 系统信息函数
- 系统管理函数
- 统计信息函数
- 触发器函数
- HashFunc函数
- 提示信息函数
- 全局临时表函数
- 故障注入系统函数
- AI特性函数
- 动态数据脱敏函数
- 层次递归查询函数
- 内部函数
- Global SysCache特性函数
- 数据损坏检测修复函数
- XML类型函数
- XMLTYPE类型函数
- Global Plsql Cache特性函数
- 其他系统函数
- 废弃函数
- 表达式
- 伪列
- 类型转换
- 系统操作
- 事务控制
- DDL语法一览表
- DML语法一览表
- DCL语法一览表
-
SQL语法
- SQL语法格式说明
- ABORT
- ALTER AGGREGATE
- ALTER AUDIT POLICY
- ALTER COLUMN ENCRYPTION KEY
- ALTER EVENT
- ALTER DATABASE
- ALTER DATABASE LINK
- ALTER DEFAULT PRIVILEGES
- ALTER DIRECTORY
- ALTER FOREIGN DATA WRAPPER
- ALTER FUNCTION
- ALTER GLOBAL CONFIGURATION
- ALTER GROUP
- ALTER INDEX
- ALTER LANGUAGE
- ALTER MASKING POLICY
- ALTER MATERIALIZED VIEW
- ALTER OPERATOR
- ALTER PACKAGE
- ALTER PROCEDURE
- ALTER RESOURCE LABEL
- ALTER RESOURCE POOL
- ALTER ROLE
- ALTER ROW LEVEL SECURITY POLICY
- ALTER SCHEMA
- ALTER SEQUENCE
- ALTER SERVER
- ALTER SESSION
- ALTER SYNONYM
- ALTER SYSTEM KILL SESSION
- ALTER TABLE
- ALTER TABLE PARTITION
- ALTER TABLE SUBPARTITION
- ALTER TABLESPACE
- ALTER TRIGGER
- ALTER TYPE
- ALTER USER
- ALTER USER MAPPING
- ALTER VIEW
- ANALYZE | ANALYSE
- BEGIN
- CALL
- CHECKPOINT
- CLEAN CONNECTION
- CLOSE
- CLUSTER
- COMMENT
- COMMIT | END
- COMMIT PREPARED
- COPY
- CREATE AGGREGATE
- CREATE AUDIT POLICY
- CREATE CAST
- CREATE CLIENT MASTER KEY
- CREATE COLUMN ENCRYPTION KEY
- CREATE CONVERSION
- CREATE DATABASE
- CREATE DATABASE LINK
- CREATE DIRECTORY
- CREATE EVENT
- CREATE FOREIGN DATA WRAPPER
- CREATE FUNCTION
- CREATE GROUP
- CREATE INCREMENTAL MATERIALIZED VIEW
- CREATE INDEX
- CREATE LANGUAGE
- CREATE MASKING POLICY
- CREATE MATERIALIZED VIEW
- CREATE MODEL
- CREATE OPERATOR
- CREATE OPERATOR CLASS
- CREATE PACKAGE
- CREATE PROCEDURE
- CREATE RESOURCE LABEL
- CREATE RESOURCE POOL
- CREATE ROLE
- CREATE ROW LEVEL SECURITY POLICY
- CREATE RULE
- CREATE SCHEMA
- CREATE SEQUENCE
- CREATE SERVER
- CREATE SYNONYM
- CREATE TABLE
- CREATE TABLE AS
- CREATE TABLE PARTITION
- CREATE TABLESPACE
- CREATE TABLE SUBPARTITION
- CREATE TRIGGER
- CREATE TYPE
- CREATE USER
- CREATE USER MAPPING
- CREATE VIEW
- CREATE WEAK PASSWORD DICTIONARY
- CURSOR
- DEALLOCATE
- DECLARE
- DELETE
- DO
- DROP AGGREGATE
- DROP AUDIT POLICY
- DROP CAST
- DROP CLIENT MASTER KEY
- DROP COLUMN ENCRYPTION KEY
- DROP DATABASE
- DROP DATABASE LINK
- DROP DIRECTORY
- DROP EVENT
- DROP FOREIGN DATA WRAPPER
- DROP FUNCTION
- DROP GLOBAL CONFIGURATION
- DROP GROUP
- DROP INDEX
- DROP LANGUAGE
- DROP MASKING POLICY
- DROP MATERIALIZED VIEW
- DROP MODEL
- DROP OPERATOR
- DROP OWNED
- DROP PACKAGE
- DROP PROCEDURE
- DROP RESOURCE LABEL
- DROP RESOURCE POOL
- DROP ROLE
- DROP ROW LEVEL SECURITY POLICY
- DROP RULE
- DROP SCHEMA
- DROP SEQUENCE
- DROP SERVER
- DROP SYNONYM
- DROP TABLE
- DROP TABLESPACE
- DROP TRIGGER
- DROP TYPE
- DROP USER
- DROP USER MAPPING
- DROP VIEW
- DROP WEAK PASSWORD DICTIONARY
- EXECUTE
- EXPDP DATABASE
- EXPDP TABLE
- EXPLAIN
- EXPLAIN PLAN
- FETCH
- GRANT
- IMPDP DATABASE CREATE
- IMPDP RECOVER
- IMPDP TABLE
- IMPDP TABLE PREPARE
- INSERT
- LOCK
- MERGE INTO
- MOVE
- PREDICT BY
- PREPARE
- PREPARE TRANSACTION
- PURGE
- REASSIGN OWNED
- REFRESH INCREMENTAL MATERIALIZED VIEW
- REFRESH MATERIALIZED VIEW
- REINDEX
- RELEASE SAVEPOINT
- RESET
- REVOKE
- ROLLBACK
- ROLLBACK PREPARED
- ROLLBACK TO SAVEPOINT
- SAVEPOINT
- SELECT
- SELECT INTO
- SET
- SET CONSTRAINTS
- SET ROLE
- SET SESSION AUTHORIZATION
- SET TRANSACTION
- SHOW
- SHOW EVENTS
- SHUTDOWN
- SNAPSHOT
- START TRANSACTION
- TIMECAPSULE TABLE
- TRUNCATE
- UPDATE
- VACUUM
- VALUES
- ALTER EXTENSION
- CREATE EXTENSION
- DROP EXTENSION
- 附录
- 最佳实践
- 用户自定义函数
- 存储过程
- 自治事务
-
系统表和系统视图
- 系统表和系统视图概述
-
系统表
- GS_ASP
- GS_AUDITING_POLICY
- GS_AUDITING_POLICY_ACCESS
- GS_AUDITING_POLICY_FILTERS
- GS_AUDITING_POLICY_PRIVILEGES
- GS_CLIENT_GLOBAL_KEYS
- GS_CLIENT_GLOBAL_KEYS_ARGS
- GS_COLUMN_KEYS
- GS_COLUMN_KEYS_ARGS
- GS_DATABASE_LINK
- GS_DB_PRIVILEGE
- GS_DEPENDENCIES
- GS_DEPENDENCIES_OBJ
- GS_ENCRYPTED_COLUMNS
- GS_ENCRYPTED_PROC
- GS_GLOBAL_CONFIG
- GS_JOB_ARGUMENT
- GS_JOB_ATTRIBUTE
- GS_MASKING_POLICY
- GS_MASKING_POLICY_ACTIONS
- GS_MASKING_POLICY_FILTERS
- GS_MATVIEW
- GS_MATVIEW_DEPENDENCY
- GS_MODEL_WAREHOUSE
- GS_OPT_MODEL
- GS_PACKAGE
- GS_PLAN_TRACE
- GS_POLICY_LABEL
- GS_RECYCLEBIN
- GS_SQL_PATCH
- GS_TXN_SNAPSHOT
- GS_UID
- GS_WORKLOAD_RULE
- PG_AGGREGATE
- PG_AM
- PG_AMOP
- PG_AMPROC
- PG_APP_WORKLOADGROUP_MAPPING
- PG_ATTRDEF
- PG_ATTRIBUTE
- PG_AUTHID
- PG_AUTH_HISTORY
- PG_AUTH_MEMBERS
- PG_CAST
- PG_CLASS
- PG_COLLATION
- PG_CONSTRAINT
- PG_CONVERSION
- PG_DATABASE
- PG_DB_ROLE_SETTING
- PG_DEFAULT_ACL
- PG_DEPEND
- PG_DESCRIPTION
- PG_DIRECTORY
- PG_ENUM
- PG_EXTENSION
- PG_FOREIGN_DATA_WRAPPER
- PG_FOREIGN_SERVER
- PG_HASHBUCKET
- PG_INDEX
- PG_INHERITS
- PG_JOB
- PG_JOB_PROC
- PG_LANGUAGE
- PG_LARGEOBJECT
- PG_LARGEOBJECT_METADATA
- PG_NAMESPACE
- PG_OBJECT
- PG_OPCLASS
- PG_OPERATOR
- PG_OPFAMILY
- PG_PARTITION
- PG_PLTEMPLATE
- PG_PROC
- PG_RANGE
- PG_REPLICATION_ORIGIN
- PG_RESOURCE_POOL
- PG_REWRITE
- PG_RLSPOLICY
- PG_SECLABEL
- PG_SHDEPEND
- PG_SHDESCRIPTION
- PG_SHSECLABEL
- PG_SET
- PG_STATISTIC
- PG_STATISTIC_EXT
- PG_SYNONYM
- PG_TABLESPACE
- PG_TRIGGER
- PG_TS_CONFIG
- PG_TS_CONFIG_MAP
- PG_TS_DICT
- PG_TS_PARSER
- PG_TS_TEMPLATE
- PG_TYPE
- PG_USER_MAPPING
- PG_USER_STATUS
- PGXC_CLASS
- PGXC_GROUP
- PGXC_NODE
- PGXC_SLICE
- PLAN_TABLE_DATA
- STATEMENT_HISTORY
- STREAMING_STREAM
- STREAMING_CONT_QUERY
-
系统视图
- ADM_ARGUMENTS
- ADM_AUDIT_OBJECT
- ADM_AUDIT_SESSION
- ADM_AUDIT_STATEMENT
- ADM_AUDIT_TRAIL
- ADM_COL_COMMENTS
- ADM_COL_PRIVS
- ADM_COLL_TYPES
- ADM_CONS_COLUMNS
- ADM_CONSTRAINTS
- ADM_DATA_FILES
- ADM_DEPENDENCIES
- ADM_DIRECTORIES
- ADM_HIST_SNAPSHOT
- ADM_HIST_SQL_PLAN
- ADM_HIST_SQLSTAT
- ADM_HIST_SQLTEXT
- ADM_IND_COLUMNS
- ADM_IND_EXPRESSIONS
- ADM_IND_PARTITIONS
- ADM_IND_SUBPARTITIONS
- ADM_INDEXES
- ADM_OBJECTS
- ADM_PART_COL_STATISTICS
- ADM_PART_INDEXES
- ADM_PART_TABLES
- ADM_PROCEDURES
- ADM_RECYCLEBIN
- ADM_ROLE_PRIVS
- ADM_ROLES
- ADM_SCHEDULER_JOB_ARGS
- ADM_SCHEDULER_JOBS
- ADM_SCHEDULER_PROGRAM_ARGS
- ADM_SCHEDULER_PROGRAMS
- ADM_SCHEDULER_RUNNING_JOBS
- ADM_SEGMENTS
- ADM_SEQUENCES
- ADM_SOURCE
- ADM_SUBPART_COL_STATISTICS
- ADM_SUBPART_KEY_COLUMNS
- ADM_SYNONYMS
- ADM_SYS_PRIVS
- ADM_TAB_COL_STATISTICS
- ADM_TAB_COLS
- ADM_TAB_HISTOGRAMS
- ADM_TAB_PRIVS
- ADM_TAB_STATISTICS
- ADM_TAB_STATS_HISTORY
- ADM_TAB_SUBPARTITIONS
- ADM_TABLES
- ADM_TABLESPACES
- ADM_TAB_COLUMNS
- ADM_TAB_COMMENTS
- ADM_TAB_PARTITIONS
- ADM_TRIGGERS
- ADM_TYPE_ATTRS
- ADM_TYPES
- ADM_USERS
- ADM_VIEWS
- DB_ALL_TABLES
- DB_ARGUMENTS
- DB_COL_COMMENTS
- DB_COL_PRIVS
- DB_COLL_TYPES
- DB_CONS_COLUMNS
- DB_CONSTRAINTS
- DB_DEPENDENCIES
- DB_ERRORS
- DB_IND_COLUMNS
- DB_IND_EXPRESSIONS
- DB_IND_PARTITIONS
- DB_IND_SUBPARTITIONS
- DB_INDEXES
- DB_OBJECTS
- DB_PART_COL_STATISTICS
- DB_PART_INDEXES
- DB_PART_KEY_COLUMNS
- DB_PART_TABLES
- DB_PROCEDURES
- DB_SCHEDULER_JOB_ARGS
- DB_SCHEDULER_PROGRAM_ARGS
- DB_SEQUENCES
- DB_SOURCE
- DB_SUBPART_COL_STATISTICS
- DB_SUBPART_KEY_COLUMNS
- DB_SYNONYMS
- DB_TAB_COL_STATISTICS
- DB_TAB_COLUMNS
- DB_TAB_COMMENTS
- DB_TAB_HISTOGRAMS
- DB_TAB_PARTITIONS
- DB_TAB_STATS_HISTORY
- DB_TAB_SUBPARTITIONS
- DB_TABLES
- DB_TRIGGERS
- DB_TYPES
- DB_USERS
- DB_VIEWS
- DICT
- DICTIONARY
- DV_SESSION_LONGOPS
- DV_SESSIONS
- GS_ALL_CONTROL_GROUP_INFO
- GS_ALL_PREPARED_STATEMENTS
- GS_AUDITING
- GS_AUDITING_ACCESS
- GS_AUDITING_PRIVILEGE
- GS_CLUSTER_RESOURCE_INFO
- GS_COMM_LISTEN_ADDRESS_EXT_INFO
- GS_COMM_PROXY_THREAD_STATUS
- GS_DB_LINKS
- GS_DB_PRIVILEGES
- GS_FILE_STAT
- GS_GET_CONTROL_GROUP_INFO
- GS_GET_LISTEN_ADDRESS_EXT_INFO
- GS_GLC_MEMORY_DETAIL
- GS_GLOBAL_ARCHIVE_STATUS
- GS_GSC_MEMORY_DETAIL
- GS_INSTANCE_TIME
- GS_LABELS
- GS_LSC_MEMORY_DETAIL
- GS_MASKING
- GS_MATVIEWS
- GS_MY_PLAN_TRACE
- GS_OS_RUN_INFO
- GS_REDO_STAT
- GS_SESSION_ALL_SETTINGS
- GS_SESSION_MEMORY
- GS_SESSION_MEMORY_CONTEXT
- GS_SESSION_MEMORY_DETAIL
- GS_SESSION_STAT
- GS_SESSION_TIME
- GS_SQL_COUNT
- GS_STAT_ALL_PARTITIONS
- GS_STAT_XACT_ALL_PARTITIONS
- GS_STATIO_ALL_PARTITIONS
- GS_THREAD_MEMORY_CONTEXT
- GS_TOTAL_MEMORY_DETAIL
- GS_TOTAL_NODEGROUP_MEMORY_DETAIL
- GS_WLM_WORKLOAD_RECORDS
- GS_WORKLOAD_RULE_STAT
- GV_INSTANCE
- GV_SESSION
- MPP_TABLES
- MY_COL_COMMENTS
- MY_COL_PRIVS
- MY_COLL_TYPES
- MY_CONS_COLUMNS
- MY_CONSTRAINTS
- MY_DEPENDENCIES
- MY_ERRORS
- MY_IND_COLUMNS
- MY_IND_EXPRESSIONS
- MY_IND_PARTITIONS
- MY_IND_SUBPARTITIONS
- MY_INDEXES
- MY_JOBS
- MY_OBJECTS
- MY_PART_COL_STATISTICS
- MY_PART_INDEXES
- MY_PART_KEY_COLUMNS
- MY_PART_TABLES
- MY_PROCEDURES
- MY_RECYCLEBIN
- MY_ROLE_PRIVS
- MY_SCHEDULER_JOB_ARGS
- MY_SCHEDULER_PROGRAM_ARGS
- MY_SEQUENCES
- MY_SOURCE
- MY_SUBPART_COL_STATISTICS
- MY_SUBPART_KEY_COLUMNS
- MY_SYNONYMS
- MY_SYS_PRIVS
- MY_TAB_COL_STATISTICS
- MY_TAB_COLUMNS
- MY_TAB_COMMENTS
- MY_TAB_HISTOGRAMS
- MY_TAB_PARTITIONS
- MY_TAB_STATISTICS
- MY_TAB_STATS_HISTORY
- MY_TAB_SUBPARTITIONS
- MY_TABLES
- MY_TABLESPACES
- MY_TRIGGERS
- MY_TYPE_ATTRS
- MY_TYPES
- MY_VIEWS
- NLS_DATABASE_PARAMETERS
- NLS_INSTANCE_PARAMETERS
- PG_AVAILABLE_EXTENSION_VERSIONS
- PG_AVAILABLE_EXTENSIONS
- PG_COMM_DELAY
- PG_COMM_RECV_STREAM
- PG_COMM_SEND_STREAM
- PG_COMM_STATUS
- PG_CONTROL_GROUP_CONFIG
- PG_CURSORS
- PG_EXT_STATS
- PG_GET_SENDERS_CATCHUP_TIME
- PG_GROUP
- PG_GTT_ATTACHED_PIDS
- PG_GTT_RELSTATS
- PG_GTT_STATS
- PG_INDEXES
- PG_LOCKS
- PG_NODE_ENV
- PG_OS_THREADS
- PG_PREPARED_STATEMENTS
- PG_PREPARED_XACTS
- PG_REPLICATION_ORIGIN_STATUS
- PG_REPLICATION_SLOTS
- PG_RLSPOLICIES
- PG_ROLES
- PG_RULES
- PG_RUNNING_XACTS
- PG_SECLABELS
- PG_SETTINGS
- PG_SHADOW
- PG_STAT_ACTIVITY
- PG_STAT_ACTIVITY_NG
- PG_STAT_ALL_INDEXES
- PG_STAT_ALL_TABLES
- PG_STAT_BAD_BLOCK
- PG_STAT_BGWRITER
- PG_STAT_DATABASE
- PG_STAT_DATABASE_CONFLICTS
- PG_STAT_REPLICATION
- PG_STAT_SYS_INDEXES
- PG_STAT_SYS_TABLES
- PG_STAT_USER_FUNCTIONS
- PG_STAT_USER_INDEXES
- PG_STAT_USER_TABLES
- PG_STAT_XACT_ALL_TABLES
- PG_STAT_XACT_SYS_TABLES
- PG_STAT_XACT_USER_FUNCTIONS
- PG_STAT_XACT_USER_TABLES
- PG_STATS
- PG_STATIO_ALL_INDEXES
- PG_STATIO_ALL_SEQUENCES
- PG_STATIO_ALL_TABLES
- PG_STATIO_SYS_INDEXES
- PG_STATIO_SYS_SEQUENCES
- PG_STATIO_SYS_TABLES
- PG_STATIO_USER_INDEXES
- PG_STATIO_USER_SEQUENCES
- PG_STATIO_USER_TABLES
- PG_TABLES
- PG_TDE_INFO
- PG_THREAD_WAIT_STATUS
- PG_TIMEZONE_ABBREVS
- PG_TIMEZONE_NAMES
- PG_TOTAL_MEMORY_DETAIL
- PG_TOTAL_USER_RESOURCE_INFO
- PG_TOTAL_USER_RESOURCE_INFO_OID
- PG_USER
- PG_USER_MAPPINGS
- PG_VARIABLE_INFO
- PG_VIEWS
- PGXC_PREPARED_XACTS
- PGXC_THREAD_WAIT_STATUS
- PLAN_TABLE
- ROLE_ROLE_PRIVS
- ROLE_SYS_PRIVS
- ROLE_TAB_PRIVS
- SYS_DUMMY
- V_INSTANCE
- V_MYSTAT
- V_SESSION
- V$GLOBAL_TRANSACTION
- V$NLS_PARAMETERS
- V$SESSION_WAIT
- V$SYSSTAT
- V$SYSTEM_EVENT
- V$VERSION
- 废弃
-
Schema
- Information Schema
-
DBE_PERF Schema
- OS
- Instance
- Memory
- File
-
Object
- STAT_USER_TABLES
- SUMMARY_STAT_USER_TABLES
- GLOBAL_STAT_USER_TABLES
- STAT_USER_INDEXES
- SUMMARY_STAT_USER_INDEXES
- GLOBAL_STAT_USER_INDEXES
- STAT_SYS_TABLES
- SUMMARY_STAT_SYS_TABLES
- GLOBAL_STAT_SYS_TABLES
- STAT_SYS_INDEXES
- SUMMARY_STAT_SYS_INDEXES
- GLOBAL_STAT_SYS_INDEXES
- STAT_ALL_TABLES
- SUMMARY_STAT_ALL_TABLES
- GLOBAL_STAT_ALL_TABLES
- STAT_ALL_INDEXES
- SUMMARY_STAT_ALL_INDEXES
- GLOBAL_STAT_ALL_INDEXES
- STAT_DATABASE
- SUMMARY_STAT_DATABASE
- GLOBAL_STAT_DATABASE
- STAT_DATABASE_CONFLICTS
- SUMMARY_STAT_DATABASE_CONFLICTS
- GLOBAL_STAT_DATABASE_CONFLICTS
- STAT_XACT_ALL_TABLES
- SUMMARY_STAT_XACT_ALL_TABLES
- GLOBAL_STAT_XACT_ALL_TABLES
- STAT_XACT_SYS_TABLES
- SUMMARY_STAT_XACT_SYS_TABLES
- GLOBAL_STAT_XACT_SYS_TABLES
- STAT_XACT_USER_TABLES
- SUMMARY_STAT_XACT_USER_TABLES
- GLOBAL_STAT_XACT_USER_TABLES
- STAT_XACT_USER_FUNCTIONS
- SUMMARY_STAT_XACT_USER_FUNCTIONS
- GLOBAL_STAT_XACT_USER_FUNCTIONS
- STAT_BAD_BLOCK
- SUMMARY_STAT_BAD_BLOCK
- GLOBAL_STAT_BAD_BLOCK
- STAT_USER_FUNCTIONS
- SUMMARY_STAT_USER_FUNCTIONS
- GLOBAL_STAT_USER_FUNCTIONS
- Workload
-
Session/Thread
- SESSION_STAT
- GLOBAL_SESSION_STAT
- SESSION_TIME
- GLOBAL_SESSION_TIME
- SESSION_MEMORY
- GLOBAL_SESSION_MEMORY
- SESSION_MEMORY_DETAIL
- GLOBAL_SESSION_MEMORY_DETAIL
- SESSION_STAT_ACTIVITY
- GLOBAL_SESSION_STAT_ACTIVITY
- THREAD_WAIT_STATUS
- GLOBAL_THREAD_WAIT_STATUS
- LOCAL_THREADPOOL_STATUS
- GLOBAL_THREADPOOL_STATUS
- LOCAL_ACTIVE_SESSION
- Transaction
- Query
-
Cache/IO
- STATIO_USER_TABLES
- SUMMARY_STATIO_USER_TABLES
- GLOBAL_STATIO_USER_TABLES
- STATIO_USER_INDEXES
- SUMMARY_STATIO_USER_INDEXES
- GLOBAL_STATIO_USER_INDEXES
- STATIO_USER_SEQUENCES
- SUMMARY_STATIO_USER_SEQUENCES
- GLOBAL_STATIO_USER_SEQUENCES
- STATIO_SYS_TABLES
- SUMMARY_STATIO_SYS_TABLES
- GLOBAL_STATIO_SYS_TABLES
- STATIO_SYS_INDEXES
- SUMMARY_STATIO_SYS_INDEXES
- GLOBAL_STATIO_SYS_INDEXES
- STATIO_SYS_SEQUENCES
- SUMMARY_STATIO_SYS_SEQUENCES
- GLOBAL_STATIO_SYS_SEQUENCES
- STATIO_ALL_TABLES
- SUMMARY_STATIO_ALL_TABLES
- GLOBAL_STATIO_ALL_TABLES
- STATIO_ALL_INDEXES
- SUMMARY_STATIO_ALL_INDEXES
- GLOBAL_STATIO_ALL_INDEXES
- STATIO_ALL_SEQUENCES
- SUMMARY_STATIO_ALL_SEQUENCES
- GLOBAL_STATIO_ALL_SEQUENCES
-
Utility
- REPLICATION_STAT
- GLOBAL_REPLICATION_STAT
- REPLICATION_SLOTS
- GLOBAL_REPLICATION_SLOTS
- BGWRITER_STAT
- GLOBAL_BGWRITER_STAT
- GLOBAL_CKPT_STATUS
- GLOBAL_DOUBLE_WRITE_STATUS
- GLOBAL_PAGEWRITER_STATUS
- GLOBAL_RECORD_RESET_TIME
- GLOBAL_REDO_STATUS
- GLOBAL_RECOVERY_STATUS
- CLASS_VITAL_INFO
- USER_LOGIN
- SUMMARY_USER_LOGIN
- GLOBAL_SINGLE_FLUSH_DW_STATUS
- GLOBAL_CANDIDATE_STATUS
- PARALLEL_DECODE_STATUS
- GLOBAL_PARALLEL_DECODE_STATUS
- PARALLEL_DECODE_THREAD_INFO
- GLOBAL_PARALLEL_DECODE_THREAD_INFO
- Lock
- Wait Events
- Configuration
- Operator
- Workload Manager
- Global Plancache
- RTO & RPO
- AI Watchdog
- 废弃
-
DBE_PLDEBUGGER Schema
- DBE_PLDEBUGGER.turn_on
- DBE_PLDEBUGGER.turn_off
- DBE_PLDEBUGGER.local_debug_server_info
- DBE_PLDEBUGGER.attach
- DBE_PLDEBUGGER.info_locals
- DBE_PLDEBUGGER.next
- DBE_PLDEBUGGER.continue
- DBE_PLDEBUGGER.abort
- DBE_PLDEBUGGER.print_var
- DBE_PLDEBUGGER.info_code
- DBE_PLDEBUGGER.step
- DBE_PLDEBUGGER.add_breakpoint
- DBE_PLDEBUGGER.delete_breakpoint
- DBE_PLDEBUGGER.info_breakpoints
- DBE_PLDEBUGGER.backtrace
- DBE_PLDEBUGGER.enable_breakpoint
- DBE_PLDEBUGGER.disable_breakpoint
- DBE_PLDEBUGGER.finish
- DBE_PLDEBUGGER.set_var
- DB4AI Schema
- DBE_PLDEVELOPER
- DBE_SQL_UTIL Schema
-
配置运行参数
- 查看参数
- 设置参数
-
GUC参数说明
- GUC使用说明
- 文件位置
- 连接和认证
- 资源消耗
- 数据导入导出
- 预写式日志
- 双机复制
- 查询规划
- 错误报告和日志
- 告警检测
- 运行时统计
- 自动清理
- 客户端连接缺省设置
- 锁管理
- 版本和平台兼容性
- 容错性
- 连接池参数
- 事务
- 双数据库实例复制参数
- 开发人员选项
- 审计
- CM相关参数
- 升级参数
- 其它选项
- 等待事件
- Query
- 系统性能快照
- 安全配置
- 全局临时表
- HyperLogLog
- 用户自定义函数
- 定时任务
- 线程池
- 备份恢复
- Undo
- DCF参数设置
- 闪回相关参数
- 回滚相关参数
- 预留参数
- AI特性
- Global SysCache参数
- 高效数据压缩算法相关参数
- 备机数据修复
- 分隔符
- Global PLsql Cache特性参数
-
开发指南(分布式_V2.0-2.x)
- 数据库系统概述
- 管理数据库安全
- 数据库使用入门
- 开发设计建议
-
应用程序开发教程
- 开发规范
- 驱动包获取
-
基于JDBC开发
- JDBC包、驱动类和环境类
- 开发流程
- 加载驱动
- 连接数据库
- 连接数据库(以SSL方式)
- 连接数据库(以UDS方式)
- 执行SQL语句
- 处理结果集
- 关闭数据库连接
- 日志管理
- 示例:常用操作
- 示例:重新执行应用SQL
- 示例:通过本地文件导入导出数据
- 示例:从MYSQL进行数据迁移
- 示例:逻辑复制代码示例
- 示例:不同场景下连接数据库参数配置
-
JDBC接口参考
- java.sql.Connection
- java.sql.CallableStatement
- java.sql.DatabaseMetaData
- java.sql.Driver
- java.sql.PreparedStatement
- java.sql.ResultSet
- java.sql.ResultSetMetaData
- java.sql.Statement
- javax.sql.ConnectionPoolDataSource
- javax.sql.DataSource
- javax.sql.PooledConnection
- javax.naming.Context
- javax.naming.spi.InitialContextFactory
- CopyManager
- PGReplicationConnection
- PGReplicationStream
- ChainedStreamBuilder
- ChainedCommonStreamBuilder
- JDBC数据类型映射关系
- 常见问题处理
- 基于ODBC开发
- 基于libpq开发
- 基于Psycopg开发
- 调试
- SQL调优指南
-
SQL参考
- GaussDB SQL
- 关键字
- 数据类型
- 常量与宏
-
函数和操作符
- 逻辑操作符
- 比较操作符
- 字符处理函数和操作符
- 二进制字符串函数和操作符
- 位串函数和操作符
- 模式匹配操作符
- 数字操作函数和操作符
- 时间和日期处理函数和操作符
- 类型转换函数
- 几何函数和操作符
- 网络地址函数和操作符
- JSON/JSONB函数和操作符
- HLL函数和操作符
- SEQUENCE函数
- 数组函数和操作符
- 范围函数和操作符
- 聚集函数
- 窗口函数
- 安全函数
- 返回集合的函数
- 条件表达式函数
- 系统信息函数
- 系统管理函数
- 统计信息函数
- 触发器函数
- HashFunc函数
- 提示信息函数
- 故障注入系统函数
- 重分布函数
- 分布列推荐函数
- 其他系统函数
- 内部函数
- 动态数据脱敏函数
- hotkey特性函数
- Global SysCache特性函数
- 数据损坏检测修复函数
- 废弃函数
- 表达式
- 类型转换
- 系统操作
- 事务控制
- DDL语法一览表
- DML语法一览表
- DCL语法一览表
-
SQL语法
- ABORT
- ALTER AUDIT POLICY
- ALTER COORDINATOR
- ALTER DATABASE
- ALTER DEFAULT PRIVILEGES
- ALTER DIRECTORY
- ALTER FUNCTION
- ALTER GLOBAL CONFIGURATION
- ALTER GROUP
- ALTER INDEX
- ALTER LANGUAGE
- ALTER MASKING POLICY
- ALTER MATERIALIZED VIEW
- ALTER NODE
- ALTER NODE GROUP
- ALTER RESOURCE LABEL
- ALTER ROLE
- ALTER ROW LEVEL SECURITY POLICY
- ALTER SCHEMA
- ALTER SEQUENCE
- ALTER SERVER
- ALTER SESSION
- ALTER SYNONYM
- ALTER SYSTEM KILL SESSION
- ALTER TABLE
- ALTER TABLE PARTITION
- ALTER TABLESPACE
- ALTER TRIGGER
- ALTER TYPE
- ALTER USER
- ALTER VIEW
- ANALYZE | ANALYSE
- BEGIN
- CALL
- CHECKPOINT
- CLEAN CONNECTION
- CLOSE
- CLUSTER
- COMMENT
- COMMIT | END
- COMMIT PREPARED
- COPY
- CREATE AUDIT POLICY
- CREATE BARRIER
- CREATE CONVERSION
- CREATE DATABASE
- CREATE DIRECTORY
- CREATE FUNCTION
- CREATE GROUP
- CREATE INCREMENTAL MATERIALIZED VIEW
- CREATE INDEX
- CREATE LANGUAGE
- CREATE MASKING POLICY
- CREATE MATERIALIZED VIEW
- CREATE NODE
- CREATE NODE GROUP
- CREATE PROCEDURE
- CREATE RESOURCE LABEL
- CREATE ROLE
- CREATE ROW LEVEL SECURITY POLICY
- CREATE SCHEMA
- CREATE SEQUENCE
- CREATE SERVER
- CREATE SYNONYM
- CREATE TABLE
- CREATE TABLESPACE
- CREATE TABLE AS
- CREATE TABLE PARTITION
- CREATE TRIGGER
- CREATE TYPE
- CREATE USER
- CREATE VIEW
- CREATE WEAK PASSWORD DICTIONARY
- CURSOR
- DEALLOCATE
- DECLARE
- DELETE
- DO
- DROP AUDIT POLICY
- DROP DATABASE
- DROP DIRECTORY
- DROP FUNCTION
- DROP GLOBAL CONFIGURATION
- DROP GROUP
- DROP INDEX
- DROP LANGUAGE
- DROP MASKING POLICY
- DROP MATERIALIZED VIEW
- DROP NODE
- DROP NODE GROUP
- DROP OWNED
- DROP PROCEDURE
- DROP RESOURCE LABEL
- DROP ROLE
- DROP ROW LEVEL SECURITY POLICY
- DROP SCHEMA
- DROP SEQUENCE
- DROP SERVER
- DROP SYNONYM
- DROP TABLE
- DROP TABLESPACE
- DROP TRIGGER
- DROP TYPE
- DROP USER
- DROP VIEW
- DROP WEAK PASSWORD DICTIONARY
- EXECUTE
- EXECUTE DIRECT
- EXPLAIN
- EXPLAIN PLAN
- FETCH
- GRANT
- INSERT
- LOCK
- MOVE
- MERGE INTO
- PREPARE
- PREPARE TRANSACTION
- REASSIGN OWNED
- REINDEX
- REFRESH INCREMENTAL MATERIALIZED VIEW
- REFRESH MATERIALIZED VIEW
- RELEASE SAVEPOINT
- RESET
- REVOKE
- ROLLBACK
- ROLLBACK PREPARED
- ROLLBACK TO SAVEPOINT
- SAVEPOINT
- SELECT
- SELECT INTO
- SET
- SET CONSTRAINTS
- SET ROLE
- SET SESSION AUTHORIZATION
- SET TRANSACTION
- SHOW
- SHUTDOWN
- START TRANSACTION
- TRUNCATE
- UPDATE
- VACUUM
- VALUES
- 附录
- 最佳实践
- 用户自定义函数
- 存储过程
- 自治事务
-
系统表和系统视图
- 系统表和系统视图概述
-
系统表
- GS_AUDITING_POLICY
- GS_AUDITING_POLICY_ACCESS
- GS_AUDITING_POLICY_FILTERS
- GS_AUDITING_POLICY_PRIVILEGES
- GS_ASP
- GS_DB_PRIVILEGE
- GS_GLOBAL_CONFIG
- GS_JOB_ATTRIBUTE
- GS_JOB_ARGUMENT
- GS_MASKING_POLICY
- GS_MASKING_POLICY_ACTIONS
- GS_MASKING_POLICY_FILTERS
- GS_MATVIEW
- GS_MATVIEW_DEPENDENCY
- GS_OPT_MODEL
- GS_POLICY_LABEL
- GS_RECYCLEBIN
- GS_SQL_PATCH
- GS_TXN_SNAPSHOT
- GS_UID
- PG_AGGREGATE
- PG_AM
- PG_AMOP
- PG_AMPROC
- PG_APP_WORKLOADGROUP_MAPPING
- PG_ATTRDEF
- PG_ATTRIBUTE
- PG_AUTHID
- PG_AUTH_HISTORY
- PG_AUTH_MEMBERS
- PG_CAST
- PG_CLASS
- PG_COLLATION
- PG_CONSTRAINT
- PG_CONVERSION
- PG_DATABASE
- PG_DB_ROLE_SETTING
- PG_DEFAULT_ACL
- PG_DEPEND
- PG_DESCRIPTION
- PG_DIRECTORY
- PG_ENUM
- PG_FOREIGN_SERVER
- PG_HASHBUCKET
- PG_INDEX
- PG_INHERITS
- PG_JOB
- PG_JOB_PROC
- PG_LANGUAGE
- PG_LARGEOBJECT
- PG_LARGEOBJECT_METADATA
- PG_NAMESPACE
- PG_OBJECT
- PG_OPCLASS
- PG_OPERATOR
- PG_OPFAMILY
- PG_PARTITION
- PG_PLTEMPLATE
- PG_PROC
- PG_RANGE
- PG_REPLICATION_ORIGIN
- PG_RESOURCE_POOL
- PG_REWRITE
- PG_RLSPOLICY
- PG_SECLABEL
- PG_SHDEPEND
- PG_SHDESCRIPTION
- PG_SHSECLABEL
- PG_STATISTIC
- PG_STATISTIC_EXT
- PG_SYNONYM
- PG_TABLESPACE
- PG_TRIGGER
- PG_TS_CONFIG
- PG_TS_CONFIG_MAP
- PG_TS_DICT
- PG_TS_PARSER
- PG_TS_TEMPLATE
- PG_TYPE
- PG_USER_MAPPING
- PG_USER_STATUS
- PG_WORKLOAD_GROUP
- PGXC_CLASS
- PGXC_GROUP
- PGXC_NODE
- PGXC_REDISTB
- PGXC_SLICE
- PLAN_TABLE_DATA
- STATEMENT_HISTORY
- STREAMING_STREAM
- STREAMING_CONT_QUERY
- STREAMING_REAPER_STATUS
-
系统视图
- ADM_COL_COMMENTS
- ADM_CONS_COLUMNS
- ADM_CONSTRAINTS
- ADM_DATA_FILES
- ADM_HIST_SNAPSHOT
- ADM_HIST_SQL_PLAN
- ADM_HIST_SQLSTAT
- ADM_IND_COLUMNS
- ADM_IND_EXPRESSIONS
- ADM_IND_PARTITIONS
- ADM_INDEXES
- ADM_OBJECTS
- ADM_PART_INDEXES
- ADM_PART_TABLES
- ADM_PROCEDURES
- ADM_SCHEDULER_JOBS
- ADM_SEQUENCES
- ADM_SOURCE
- ADM_SYNONYMS
- ADM_TAB_COLUMNS
- ADM_TAB_COMMENTS
- ADM_TAB_PARTITIONS
- ADM_TABLES
- ADM_TABLESPACES
- ADM_TRIGGERS
- ADM_TYPE_ATTRS
- ADM_USERS
- ADM_VIEWS
- COMM_CLIENT_INFO
- DB_ALL_TABLES
- DB_COL_COMMENTS
- DB_CONS_COLUMNS
- DB_CONSTRAINTS
- DB_DEPENDENCIES
- DB_IND_COLUMNS
- DB_IND_EXPRESSIONS
- DB_INDEXES
- DB_OBJECTS
- DB_PROCEDURES
- DB_SEQUENCES
- DB_SOURCE
- DB_SYNONYMS
- DB_TAB_COLUMNS
- DB_TAB_COMMENTS
- DB_TABLES
- DB_TRIGGERS
- DB_USERS
- DB_VIEWS
- DV_SESSION_LONGOPS
- DV_SESSIONS
- GET_GLOBAL_PREPARED_XACTS
- GLOBAL_BAD_BLOCK_INFO
- GLOBAL_CLEAR_BAD_BLOCK_INFO
- GLOBAL_COMM_CLIENT_INFO
- GLOBAL_STAT_HOTKEYS_INFO
- GLOBAL_WAL_SENDER_STATUS
- GS_ALL_CONTROL_GROUP_INFO
- GS_AUDITING
- GS_AUDITING_ACCESS
- GS_AUDITING_PRIVILEGE
- GS_CLUSTER_RESOURCE_INFO
- GS_DB_PRIVILEGES
- GS_GET_CONTROL_GROUP_INFO
- GS_GSC_MEMORY_DETAIL
- GS_LABELS
- GS_LSC_MEMORY_DETAIL
- GS_MASKING
- GS_MATVIEWS
- GS_SQL_COUNT
- GS_STAT_DB_CU
- GS_STAT_SESSION_CU
- GS_TOTAL_NODEGROUP_MEMORY_DETAIL
- GV_SESSION
- MPP_TABLES
- MY_COL_COMMENTS
- MY_CONS_COLUMNS
- MY_CONSTRAINTS
- MY_IND_COLUMNS
- MY_IND_EXPRESSIONS
- MY_IND_PARTITIONS
- MY_INDEXES
- MY_JOBS
- MY_OBJECTS
- MY_PART_INDEXES
- MY_PART_TABLES
- MY_PROCEDURES
- MY_SEQUENCES
- MY_SOURCE
- MY_SYNONYMS
- MY_TAB_COLUMNS
- MY_TAB_COMMENTS
- MY_TAB_PARTITIONS
- MY_TABLES
- MY_TRIGGERS
- MY_VIEWS
- PG_COMM_DELAY
- PG_COMM_RECV_STREAM
- PG_COMM_SEND_STREAM
- PG_COMM_STATUS
- PG_CONTROL_GROUP_CONFIG
- PG_CURSORS
- PG_EXT_STATS
- PG_GET_INVALID_BACKENDS
- PG_GET_SENDERS_CATCHUP_TIME
- PG_GROUP
- PG_INDEXES
- PG_LOCKS
- PG_NODE_ENV
- PG_OS_THREADS
- PG_POOLER_STATUS
- PG_PREPARED_STATEMENTS
- PG_PREPARED_XACTS
- PG_REPLICATION_ORIGIN_STATUS
- PG_REPLICATION_SLOTS
- PG_RLSPOLICIES
- PG_ROLES
- PG_RULES
- PG_RUNNING_XACTS
- PG_SECLABELS
- PG_SETTINGS
- PG_SHADOW
- PG_SHARED_MEMORY_DETAIL
- PG_STATS
- PG_STAT_ACTIVITY
- PG_STAT_ACTIVITY_NG
- PG_STAT_ALL_INDEXES
- PG_STAT_ALL_TABLES
- PG_STAT_BAD_BLOCK
- PG_STAT_BGWRITER
- PG_STAT_DATABASE
- PG_STAT_DATABASE_CONFLICTS
- PG_STAT_REPLICATION
- PG_STAT_SYS_INDEXES
- PG_STAT_SYS_TABLES
- PG_STAT_USER_FUNCTIONS
- PG_STAT_USER_INDEXES
- PG_STAT_USER_TABLES
- PG_STAT_XACT_ALL_TABLES
- PG_STAT_XACT_SYS_TABLES
- PG_STAT_XACT_USER_FUNCTIONS
- PG_STAT_XACT_USER_TABLES
- PG_STATIO_ALL_INDEXES
- PG_STATIO_ALL_SEQUENCES
- PG_STATIO_ALL_TABLES
- PG_STATIO_SYS_INDEXES
- PG_STATIO_SYS_SEQUENCES
- PG_STATIO_SYS_TABLES
- PG_STATIO_USER_INDEXES
- PG_STATIO_USER_SEQUENCES
- PG_STATIO_USER_TABLES
- PG_TABLES
- PG_TDE_INFO
- PG_TIMEZONE_ABBREVS
- PG_TIMEZONE_NAMES
- PG_TOTAL_MEMORY_DETAIL
- PG_TOTAL_USER_RESOURCE_INFO
- PG_TOTAL_USER_RESOURCE_INFO_OID
- PG_USER
- PG_USER_MAPPINGS
- PG_VARIABLE_INFO
- PG_VIEWS
- PGXC_COMM_DELAY
- PGXC_COMM_RECV_STREAM
- PGXC_COMM_SEND_STREAM
- PGXC_COMM_STATUS
- PGXC_GET_STAT_ALL_TABLES
- PGXC_GET_TABLE_SKEWNESS
- PGXC_NODE_ENV
- PGXC_OS_THREADS
- PGXC_PREPARED_XACTS
- PGXC_RUNNING_XACTS
- PGXC_SQL_COUNT
- PGXC_STAT_ACTIVITY
- PGXC_STAT_BAD_BLOCK
- PGXC_THREAD_WAIT_STATUS
- PGXC_TOTAL_MEMORY_DETAIL
- PGXC_VARIABLE_INFO
- PLAN_TABLE
- PV_FILE_STAT
- PV_INSTANCE_TIME
- PV_OS_RUN_INFO
- PV_REDO_STAT
- PV_SESSION_MEMORY
- PV_SESSION_MEMORY_CONTEXT
- PV_SESSION_MEMORY_DETAIL
- PV_SESSION_STAT
- PV_SESSION_TIME
- PV_THREAD_MEMORY_CONTEXT
- PV_TOTAL_MEMORY_DETAIL
- SYS_DUMMY
-
Schema
- Information Schema
-
DBE_PERF Schema
- OS
- Instance
- Memory
- File
-
Object
- STAT_USER_TABLES
- SUMMARY_STAT_USER_TABLES
- GLOBAL_STAT_USER_TABLES
- STAT_USER_INDEXES
- SUMMARY_STAT_USER_INDEXES
- GLOBAL_STAT_USER_INDEXES
- STAT_SYS_TABLES
- SUMMARY_STAT_SYS_TABLES
- GLOBAL_STAT_SYS_TABLES
- STAT_SYS_INDEXES
- SUMMARY_STAT_SYS_INDEXES
- GLOBAL_STAT_SYS_INDEXES
- STAT_ALL_TABLES
- SUMMARY_STAT_ALL_TABLES
- GLOBAL_STAT_ALL_TABLES
- STAT_ALL_INDEXES
- SUMMARY_STAT_ALL_INDEXES
- GLOBAL_STAT_ALL_INDEXES
- STAT_DATABASE
- SUMMARY_STAT_DATABASE
- GLOBAL_STAT_DATABASE
- STAT_DATABASE_CONFLICTS
- SUMMARY_STAT_DATABASE_CONFLICTS
- GLOBAL_STAT_DATABASE_CONFLICTS
- STAT_XACT_ALL_TABLES
- SUMMARY_STAT_XACT_ALL_TABLES
- GLOBAL_STAT_XACT_ALL_TABLES
- STAT_XACT_SYS_TABLES
- SUMMARY_STAT_XACT_SYS_TABLES
- GLOBAL_STAT_XACT_SYS_TABLES
- STAT_XACT_USER_TABLES
- SUMMARY_STAT_XACT_USER_TABLES
- GLOBAL_STAT_XACT_USER_TABLES
- STAT_XACT_USER_FUNCTIONS
- SUMMARY_STAT_XACT_USER_FUNCTIONS
- GLOBAL_STAT_XACT_USER_FUNCTIONS
- STAT_BAD_BLOCK
- SUMMARY_STAT_BAD_BLOCK
- GLOBAL_STAT_BAD_BLOCK
- STAT_USER_FUNCTIONS
- SUMMARY_STAT_USER_FUNCTIONS
- GLOBAL_STAT_USER_FUNCTIONS
- Workload
-
Session/Thread
- SESSION_STAT
- GLOBAL_SESSION_STAT
- SESSION_TIME
- GLOBAL_SESSION_TIME
- SESSION_MEMORY
- GLOBAL_SESSION_MEMORY
- SESSION_MEMORY_DETAIL
- GLOBAL_SESSION_MEMORY_DETAIL
- THREAD_WAIT_STATUS
- GLOBAL_THREAD_WAIT_STATUS
- LOCAL_THREADPOOL_STATUS
- GLOBAL_THREADPOOL_STATUS
- SESSION_CPU_RUNTIME
- SESSION_MEMORY_RUNTIME
- LOCAL_ACTIVE_SESSION
- GLOBAL_ACTIVE_SESSION
- Transaction
- Query
-
Cache/IO
- STATIO_USER_TABLES
- SUMMARY_STATIO_USER_TABLES
- GLOBAL_STATIO_USER_TABLES
- STATIO_USER_INDEXES
- SUMMARY_STATIO_USER_INDEXES
- GLOBAL_STATIO_USER_INDEXES
- STATIO_USER_SEQUENCES
- SUMMARY_STATIO_USER_SEQUENCES
- GLOBAL_STATIO_USER_SEQUENCES
- STATIO_SYS_TABLES
- SUMMARY_STATIO_SYS_TABLES
- GLOBAL_STATIO_SYS_TABLES
- STATIO_SYS_INDEXES
- SUMMARY_STATIO_SYS_INDEXES
- GLOBAL_STATIO_SYS_INDEXES
- STATIO_SYS_SEQUENCES
- SUMMARY_STATIO_SYS_SEQUENCES
- GLOBAL_STATIO_SYS_SEQUENCES
- STATIO_ALL_TABLES
- SUMMARY_STATIO_ALL_TABLES
- GLOBAL_STATIO_ALL_TABLES
- STATIO_ALL_INDEXES
- SUMMARY_STATIO_ALL_INDEXES
- GLOBAL_STATIO_ALL_INDEXES
- STATIO_ALL_SEQUENCES
- SUMMARY_STATIO_ALL_SEQUENCES
- GLOBAL_STATIO_ALL_SEQUENCES
- GLOBAL_STAT_DB_CU
- GLOBAL_STAT_SESSION_CU
- Comm
-
Utility
- REPLICATION_STAT
- GLOBAL_REPLICATION_STAT
- REPLICATION_SLOTS
- GLOBAL_REPLICATION_SLOTS
- BGWRITER_STAT
- GLOBAL_BGWRITER_STAT
- POOLER_STATUS
- GLOBAL_COMM_CHECK_CONNECTION_STATUS
- GLOBAL_CKPT_STATUS
- GLOBAL_DOUBLE_WRITE_STATUS
- GLOBAL_PAGEWRITER_STATUS
- GLOBAL_POOLER_STATUS
- GLOBAL_RECORD_RESET_TIME
- GLOBAL_REDO_STATUS
- GLOBAL_RECOVERY_STATUS
- CLASS_VITAL_INFO
- USER_LOGIN
- SUMMARY_USER_LOGIN
- GLOBAL_GET_BGWRITER_STATUS
- GLOBAL_SINGLE_FLUSH_DW_STATUS
- GLOBAL_CANDIDATE_STATUS
- Lock
- Wait Events
- Configuration
- Operator
- Global Plancache
- RTO & RPO
- 逻辑复制
- GTM模式
- 物化视图
- 错误日志信息参考
- 配置运行参数
-
开发指南(集中式_V2.0-2.x)
- 数据库系统概述
- 管理数据库安全
- 数据库使用入门
- 开发设计建议
-
应用程序开发教程
- GaussDB应用程序开发教程概述
- 开发规范
- 驱动包获取
-
基于JDBC开发
- 开发流程
- 开发步骤
- 典型应用开发示例
-
JDBC接口参考
- java.sql.Connection
- java.sql.CallableStatement
- java.sql.DatabaseMetaData
- java.sql.Driver
- java.sql.PreparedStatement
- java.sql.ResultSet
- java.sql.ResultSetMetaData
- java.sql.Statement
- javax.sql.ConnectionPoolDataSource
- javax.sql.DataSource
- javax.sql.PooledConnection
- javax.naming.Context
- javax.naming.spi.InitialContextFactory
- CopyManager
- PGReplicationConnection
- PGReplicationStream
- ChainedStreamBuilder
- ChainedCommonStreamBuilder
- 基于ODBC开发
- 基于libpq开发
- 基于Psycopg开发
- 基于Go驱动开发
- 附录
- SQL调优指南
-
SQL参考
- GaussDB SQL
- 关键字
- 数据类型
- 常量与宏
-
函数和操作符
- 逻辑操作符
- 比较操作符
- 字符处理函数和操作符
- 二进制字符串函数和操作符
- 位串函数和操作符
- 模式匹配操作符
- 数字操作函数和操作符
- 时间和日期处理函数和操作符
- 类型转换函数
- 几何函数和操作符
- 网络地址函数和操作符
- JSON/JSONB函数和操作符
- HLL函数和操作符
- SEQUENCE函数
- 数组函数和操作符
- 范围函数和操作符
- 聚集函数
- 窗口函数
- 安全函数
- 返回集合的函数
- 条件表达式函数
- 系统信息函数
- 系统管理函数
- 统计信息函数
- 触发器函数
- HashFunc函数
- 提示信息函数
- 全局临时表函数
- 故障注入系统函数
- AI特性函数
- 动态数据脱敏函数
- 层次递归查询函数
- 其他系统函数
- 内部函数
- Global SysCache特性函数
- 数据损坏检测修复函数
- 废弃函数
- 表达式
- 类型转换
- 系统操作
- 事务控制
- DDL语法一览表
- DML语法一览表
- DCL语法一览表
-
SQL语法
- ABORT
- ALTER AGGREGATE
- ALTER AUDIT POLICY
- ALTER DATABASE
- ALTER DEFAULT PRIVILEGES
- ALTER DIRECTORY
- ALTER FUNCTION
- ALTER GLOBAL CONFIGURATION
- ALTER GROUP
- ALTER INDEX
- ALTER LANGUAGE
- ALTER MASKING POLICY
- ALTER MATERIALIZED VIEW
- ALTER OPERATOR
- ALTER PACKAGE
- ALTER PROCEDURE
- ALTER RESOURCE LABEL
- ALTER ROLE
- ALTER ROW LEVEL SECURITY POLICY
- ALTER SCHEMA
- ALTER SEQUENCE
- ALTER SERVER
- ALTER SESSION
- ALTER SYNONYM
- ALTER SYSTEM KILL SESSION
- ALTER TABLE
- ALTER TABLE PARTITION
- ALTER TABLE SUBPARTITION
- ALTER TABLESPACE
- ALTER TRIGGER
- ALTER TYPE
- ALTER USER
- ALTER USER MAPPING
- ALTER VIEW
- ANALYZE | ANALYSE
- BEGIN
- CALL
- CHECKPOINT
- CLEAN CONNECTION
- CLOSE
- CLUSTER
- COMMENT
- COMMIT | END
- COMMIT PREPARED
- COPY
- CREATE AGGREGATE
- CREATE AUDIT POLICY
- CREATE CAST
- CREATE CONVERSION
- CREATE DATABASE
- CREATE DIRECTORY
- CREATE FUNCTION
- CREATE GROUP
- CREATE INCREMENTAL MATERIALIZED VIEW
- CREATE INDEX
- CREATE LANGUAGE
- CREATE MASKING POLICY
- CREATE MATERIALIZED VIEW
- CREATE OPERATOR
- CREATE OPERATOR CLASS
- CREATE PACKAGE
- CREATE PROCEDURE
- CREATE RESOURCE LABEL
- CREATE ROLE
- CREATE ROW LEVEL SECURITY POLICY
- CREATE RULE
- CREATE SCHEMA
- CREATE SEQUENCE
- CREATE SERVER
- CREATE SYNONYM
- CREATE TABLE
- CREATE TABLE AS
- CREATE TABLE PARTITION
- CREATE TABLESPACE
- CREATE TABLE SUBPARTITION
- CREATE TRIGGER
- CREATE TYPE
- CREATE USER
- CREATE USER MAPPING
- CREATE VIEW
- CREATE WEAK PASSWORD DICTIONARY
- CURSOR
- DEALLOCATE
- DECLARE
- DELETE
- DO
- DROP AGGREGATE
- DROP AUDIT POLICY
- DROP CAST
- DROP DATABASE
- DROP DIRECTORY
- DROP FUNCTION
- DROP GLOBAL CONFIGURATION
- DROP GROUP
- DROP INDEX
- DROP LANGUAGE
- DROP MASKING POLICY
- DROP MATERIALIZED VIEW
- DROP OPERATOR
- DROP OWNED
- DROP PACKAGE
- DROP PROCEDURE
- DROP RESOURCE LABEL
- DROP ROLE
- DROP ROW LEVEL SECURITY POLICY
- DROP RULE
- DROP SCHEMA
- DROP SEQUENCE
- DROP SERVER
- DROP SYNONYM
- DROP TABLE
- DROP TABLESPACE
- DROP TRIGGER
- DROP TYPE
- DROP USER
- DROP USER MAPPING
- DROP VIEW
- DROP WEAK PASSWORD DICTIONARY
- EXECUTE
- EXPLAIN
- EXPLAIN PLAN
- FETCH
- GRANT
- INSERT
- LOCK
- MERGE INTO
- MOVE
- PREPARE
- PREPARE TRANSACTION
- PURGE
- REASSIGN OWNED
- REFRESH INCREMENTAL MATERIALIZED VIEW
- REFRESH MATERIALIZED VIEW
- REINDEX
- RELEASE SAVEPOINT
- RESET
- REVOKE
- ROLLBACK
- ROLLBACK PREPARED
- ROLLBACK TO SAVEPOINT
- SAVEPOINT
- SELECT
- SELECT INTO
- SET
- SET CONSTRAINTS
- SET ROLE
- SET SESSION AUTHORIZATION
- SET TRANSACTION
- SHOW
- SHUTDOWN
- START TRANSACTION
- TIMECAPSULE TABLE
- TRUNCATE
- UPDATE
- VACUUM
- VALUES
- 附录
- 最佳实践
- 用户自定义函数
- 存储过程
- 自治事务
-
系统表和系统视图
- 系统表和系统视图概述
-
系统表
- GS_ASP
- GS_AUDITING_POLICY
- GS_AUDITING_POLICY_ACCESS
- GS_AUDITING_POLICY_FILTERS
- GS_AUDITING_POLICY_PRIVILEGES
- GS_DB_PRIVILEGE
- GS_GLOBAL_CONFIG
- GS_JOB_ARGUMENT
- GS_JOB_ATTRIBUTE
- GS_MASKING_POLICY
- GS_MASKING_POLICY_ACTIONS
- GS_MASKING_POLICY_FILTERS
- GS_MATVIEW
- GS_MATVIEW_DEPENDENCY
- GS_OPT_MODEL
- GS_PACKAGE
- GS_POLICY_LABEL
- GS_RECYCLEBIN
- GS_SQL_PATCH
- GS_TXN_SNAPSHOT
- GS_UID
- PG_AGGREGATE
- PG_AM
- PG_AMOP
- PG_AMPROC
- PG_APP_WORKLOADGROUP_MAPPING
- PG_ATTRDEF
- PG_ATTRIBUTE
- PG_AUTHID
- PG_AUTH_HISTORY
- PG_AUTH_MEMBERS
- PG_CAST
- PG_CLASS
- PG_COLLATION
- PG_CONSTRAINT
- PG_CONVERSION
- PG_DATABASE
- PG_DB_ROLE_SETTING
- PG_DEFAULT_ACL
- PG_DEPEND
- PG_DESCRIPTION
- PG_DIRECTORY
- PG_ENUM
- PG_FOREIGN_SERVER
- PG_HASHBUCKET
- PG_INDEX
- PG_INHERITS
- PG_JOB
- PG_JOB_PROC
- PG_LANGUAGE
- PG_LARGEOBJECT
- PG_LARGEOBJECT_METADATA
- PG_NAMESPACE
- PG_OBJECT
- PG_OPCLASS
- PG_OPERATOR
- PG_OPFAMILY
- PG_PARTITION
- PG_PLTEMPLATE
- PG_PROC
- PG_RANGE
- PG_REPLICATION_ORIGIN
- PG_RESOURCE_POOL
- PG_REWRITE
- PG_RLSPOLICY
- PG_SECLABEL
- PG_SHDEPEND
- PG_SHDESCRIPTION
- PG_SHSECLABEL
- PG_STATISTIC
- PG_STATISTIC_EXT
- PG_SYNONYM
- PG_TABLESPACE
- PG_TRIGGER
- PG_TS_CONFIG
- PG_TS_CONFIG_MAP
- PG_TS_DICT
- PG_TS_PARSER
- PG_TS_TEMPLATE
- PG_TYPE
- PG_USER_MAPPING
- PG_USER_STATUS
- PG_WORKLOAD_GROUP
- PGXC_CLASS
- PGXC_GROUP
- PGXC_NODE
- PGXC_SLICE
- PLAN_TABLE_DATA
- STATEMENT_HISTORY
- STREAMING_STREAM
- STREAMING_CONT_QUERY
- STREAMING_REAPER_STATUS
-
系统视图
- ADM_COL_COMMENTS
- ADM_CONS_COLUMNS
- ADM_CONSTRAINTS
- ADM_DATA_FILES
- ADM_HIST_SNAPSHOT
- ADM_HIST_SQL_PLAN
- ADM_HIST_SQLSTAT
- ADM_IND_COLUMNS
- ADM_IND_EXPRESSIONS
- ADM_IND_PARTITIONS
- ADM_IND_SUBPARTITIONS
- ADM_INDEXES
- ADM_OBJECTS
- ADM_PART_INDEXES
- ADM_PART_TABLES
- ADM_PROCEDURES
- ADM_SCHEDULER_JOBS
- ADM_SEQUENCES
- ADM_SOURCE
- ADM_SYNONYMS
- ADM_TAB_COLUMNS
- ADM_TAB_COMMENTS
- ADM_TAB_PARTITIONS
- ADM_TAB_SUBPARTITIONS
- ADM_TABLES
- ADM_TABLESPACES
- ADM_TRIGGERS
- ADM_TYPE_ATTRS
- ADM_USERS
- ADM_VIEWS
- DB_ALL_TABLES
- DB_COL_COMMENTS
- DB_CONS_COLUMNS
- DB_CONSTRAINTS
- DB_DEPENDENCIES
- DB_IND_COLUMNS
- DB_IND_EXPRESSIONS
- DB_IND_PARTITIONS
- DB_IND_SUBPARTITIONS
- DB_INDEXES
- DB_OBJECTS
- DB_PART_INDEXES
- DB_PART_TABLES
- DB_PROCEDURES
- DB_SEQUENCES
- DB_SOURCE
- DB_SYNONYMS
- DB_TAB_COLUMNS
- DB_TAB_COMMENTS
- DB_TAB_PARTITIONS
- DB_TAB_SUBPARTITIONS
- DB_TABLES
- DB_TRIGGERS
- DB_USERS
- DB_VIEWS
- DV_SESSIONS
- DV_SESSION_LONGOPS
- GET_GLOBAL_PREPARED_XACTS(废弃)
- GS_ALL_CONTROL_GROUP_INFO
- GS_AUDITING
- GS_AUDITING_ACCESS
- GS_AUDITING_PRIVILEGE
- GS_CLUSTER_RESOURCE_INFO
- GS_COMM_PROXY_THREAD_STATUS
- GS_DB_PRIVILEGES
- GS_FILE_STAT
- GS_GET_CONTROL_GROUP_INFO
- GS_GSC_MEMORY_DETAIL
- GS_INSTANCE_TIME
- GS_LABELS
- GS_LSC_MEMORY_DETAIL
- GS_MASKING
- GS_MATVIEWS
- GS_OS_RUN_INFO
- GS_REDO_STAT
- GS_SESSION_MEMORY
- GS_SESSION_MEMORY_CONTEXT
- GS_SESSION_MEMORY_DETAIL
- GS_SESSION_STAT
- GS_SESSION_TIME
- GS_SQL_COUNT
- GS_STAT_SESSION_CU
- GS_THREAD_MEMORY_CONTEXT
- GS_TOTAL_MEMORY_DETAIL
- GS_TOTAL_NODEGROUP_MEMORY_DETAIL
- GV_SESSION
- MPP_TABLES
- MY_COL_COMMENTS
- MY_CONS_COLUMNS
- MY_CONSTRAINTS
- MY_IND_COLUMNS
- MY_IND_EXPRESSIONS
- MY_IND_PARTITIONS
- MY_IND_SUBPARTITIONS
- MY_INDEXES
- MY_JOBS
- MY_OBJECTS
- MY_PART_INDEXES
- MY_PART_TABLES
- MY_PROCEDURES
- MY_SEQUENCES
- MY_SOURCE
- MY_SYNONYMS
- MY_TAB_COLUMNS
- MY_TAB_COMMENTS
- MY_TAB_PARTITIONS
- MY_TAB_SUBPARTITIONS
- MY_TABLES
- MY_TRIGGERS
- MY_VIEWS
- PG_CURSORS
- PG_COMM_DELAY
- PG_COMM_RECV_STREAM
- PG_COMM_SEND_STREAM
- PG_COMM_STATUS
- PG_CONTROL_GROUP_CONFIG
- PG_EXT_STATS
- PG_GET_INVALID_BACKENDS
- PG_GET_SENDERS_CATCHUP_TIME
- PG_GROUP
- PG_GTT_ATTACHED_PIDS
- PG_GTT_RELSTATS
- PG_GTT_STATS
- PG_INDEXES
- PG_LOCKS
- PG_NODE_ENV
- PG_OS_THREADS
- PG_PREPARED_STATEMENTS
- PG_PREPARED_XACTS
- PG_REPLICATION_ORIGIN_STATUS
- PG_REPLICATION_SLOTS
- PG_RLSPOLICIES
- PG_ROLES
- PG_RULES
- PG_RUNNING_XACTS
- PG_SECLABELS
- PG_SETTINGS
- PG_SHADOW
- PG_STATS
- PG_STAT_ACTIVITY
- PG_STAT_ACTIVITY_NG
- PG_STAT_ALL_INDEXES
- PG_STAT_ALL_TABLES
- PG_STAT_BAD_BLOCK
- PG_STAT_BGWRITER
- PG_STAT_DATABASE
- PG_STAT_DATABASE_CONFLICTS
- PG_STAT_USER_FUNCTIONS
- PG_STAT_USER_INDEXES
- PG_STAT_USER_TABLES
- PG_STAT_REPLICATION
- PG_STAT_SYS_INDEXES
- PG_STAT_SYS_TABLES
- PG_STAT_XACT_ALL_TABLES
- PG_STAT_XACT_SYS_TABLES
- PG_STAT_XACT_USER_FUNCTIONS
- PG_STAT_XACT_USER_TABLES
- PG_STATIO_ALL_INDEXES
- PG_STATIO_ALL_SEQUENCES
- PG_STATIO_ALL_TABLES
- PG_STATIO_SYS_INDEXES
- PG_STATIO_SYS_SEQUENCES
- PG_STATIO_SYS_TABLES
- PG_STATIO_USER_INDEXES
- PG_STATIO_USER_SEQUENCES
- PG_STATIO_USER_TABLES
- PG_TABLES
- PG_TDE_INFO
- PG_TIMEZONE_ABBREVS
- PG_TIMEZONE_NAMES
- PG_TOTAL_MEMORY_DETAIL
- PG_TOTAL_USER_RESOURCE_INFO
- PG_TOTAL_USER_RESOURCE_INFO_OID
- PG_USER
- PG_USER_MAPPINGS
- PG_VARIABLE_INFO
- PG_VIEWS
- PGXC_PREPARED_XACTS
- PGXC_THREAD_WAIT_STATUS
- PLAN_TABLE
- SYS_DUMMY
-
Schema
- Information Schema
-
DBE_PERF Schema
- OS
- Instance
- Memory
- File
-
Object
- STAT_USER_TABLES
- SUMMARY_STAT_USER_TABLES
- GLOBAL_STAT_USER_TABLES
- STAT_USER_INDEXES
- SUMMARY_STAT_USER_INDEXES
- GLOBAL_STAT_USER_INDEXES
- STAT_SYS_TABLES
- SUMMARY_STAT_SYS_TABLES
- GLOBAL_STAT_SYS_TABLES
- STAT_SYS_INDEXES
- SUMMARY_STAT_SYS_INDEXES
- GLOBAL_STAT_SYS_INDEXES
- STAT_ALL_TABLES
- SUMMARY_STAT_ALL_TABLES
- GLOBAL_STAT_ALL_TABLES
- STAT_ALL_INDEXES
- SUMMARY_STAT_ALL_INDEXES
- GLOBAL_STAT_ALL_INDEXES
- STAT_DATABASE
- SUMMARY_STAT_DATABASE
- GLOBAL_STAT_DATABASE
- STAT_DATABASE_CONFLICTS
- SUMMARY_STAT_DATABASE_CONFLICTS
- GLOBAL_STAT_DATABASE_CONFLICTS
- STAT_XACT_ALL_TABLES
- SUMMARY_STAT_XACT_ALL_TABLES
- GLOBAL_STAT_XACT_ALL_TABLES
- STAT_XACT_SYS_TABLES
- SUMMARY_STAT_XACT_SYS_TABLES
- GLOBAL_STAT_XACT_SYS_TABLES
- STAT_XACT_USER_TABLES
- SUMMARY_STAT_XACT_USER_TABLES
- GLOBAL_STAT_XACT_USER_TABLES
- STAT_XACT_USER_FUNCTIONS
- SUMMARY_STAT_XACT_USER_FUNCTIONS
- GLOBAL_STAT_XACT_USER_FUNCTIONS
- STAT_BAD_BLOCK
- SUMMARY_STAT_BAD_BLOCK
- GLOBAL_STAT_BAD_BLOCK
- STAT_USER_FUNCTIONS
- SUMMARY_STAT_USER_FUNCTIONS
- GLOBAL_STAT_USER_FUNCTIONS
- Workload
-
Session/Thread
- SESSION_STAT
- GLOBAL_SESSION_STAT
- SESSION_TIME
- GLOBAL_SESSION_TIME
- SESSION_MEMORY
- GLOBAL_SESSION_MEMORY
- SESSION_MEMORY_DETAIL
- GLOBAL_SESSION_MEMORY_DETAIL
- SESSION_STAT_ACTIVITY
- GLOBAL_SESSION_STAT_ACTIVITY
- THREAD_WAIT_STATUS
- GLOBAL_THREAD_WAIT_STATUS
- LOCAL_THREADPOOL_STATUS
- GLOBAL_THREADPOOL_STATUS
- LOCAL_ACTIVE_SESSION
- Transaction
- Query
-
Cache/IO
- STATIO_USER_TABLES
- SUMMARY_STATIO_USER_TABLES
- GLOBAL_STATIO_USER_TABLES
- STATIO_USER_INDEXES
- SUMMARY_STATIO_USER_INDEXES
- GLOBAL_STATIO_USER_INDEXES
- STATIO_USER_SEQUENCES
- SUMMARY_STATIO_USER_SEQUENCES
- GLOBAL_STATIO_USER_SEQUENCES
- STATIO_SYS_TABLES
- SUMMARY_STATIO_SYS_TABLES
- GLOBAL_STATIO_SYS_TABLES
- STATIO_SYS_INDEXES
- SUMMARY_STATIO_SYS_INDEXES
- GLOBAL_STATIO_SYS_INDEXES
- STATIO_SYS_SEQUENCES
- SUMMARY_STATIO_SYS_SEQUENCES
- GLOBAL_STATIO_SYS_SEQUENCES
- STATIO_ALL_TABLES
- SUMMARY_STATIO_ALL_TABLES
- GLOBAL_STATIO_ALL_TABLES
- STATIO_ALL_INDEXES
- SUMMARY_STATIO_ALL_INDEXES
- GLOBAL_STATIO_ALL_INDEXES
- STATIO_ALL_SEQUENCES
- SUMMARY_STATIO_ALL_SEQUENCES
- GLOBAL_STATIO_ALL_SEQUENCES
- GLOBAL_STAT_DB_CU
- GLOBAL_STAT_SESSION_CU
-
Utility
- REPLICATION_STAT
- GLOBAL_REPLICATION_STAT
- REPLICATION_SLOTS
- GLOBAL_REPLICATION_SLOTS
- BGWRITER_STAT
- GLOBAL_BGWRITER_STAT
- GLOBAL_CKPT_STATUS
- GLOBAL_DOUBLE_WRITE_STATUS
- GLOBAL_PAGEWRITER_STATUS
- GLOBAL_RECORD_RESET_TIME
- GLOBAL_REDO_STATUS
- GLOBAL_RECOVERY_STATUS
- CLASS_VITAL_INFO
- USER_LOGIN
- SUMMARY_USER_LOGIN
- GLOBAL_SINGLE_FLUSH_DW_STATUS
- GLOBAL_CANDIDATE_STATUS
- Lock
- Wait Events
- Configuration
- Operator
- Workload Manager
- Global Plancache
- RTO & RPO
-
DBE_PLDEBUGGER Schema
- DBE_PLDEBUGGER.turn_on
- DBE_PLDEBUGGER.turn_off
- DBE_PLDEBUGGER.local_debug_server_info
- DBE_PLDEBUGGER.attach
- DBE_PLDEBUGGER.info_locals
- DBE_PLDEBUGGER.next
- DBE_PLDEBUGGER.continue
- DBE_PLDEBUGGER.abort
- DBE_PLDEBUGGER.print_var
- DBE_PLDEBUGGER.info_code
- DBE_PLDEBUGGER.step
- DBE_PLDEBUGGER.add_breakpoint
- DBE_PLDEBUGGER.delete_breakpoint
- DBE_PLDEBUGGER.info_breakpoints
- DBE_PLDEBUGGER.backtrace
- DBE_PLDEBUGGER.enable_breakpoint
- DBE_PLDEBUGGER.disable_breakpoint
- DBE_PLDEBUGGER.finish
- DBE_PLDEBUGGER.set_var
- DBE_PLDEVELOPER
- DBE_SQL_UTIL Schema
- 逻辑复制
- 物化视图
- 错误日志信息参考
- 配置运行参数
-
开发指南(分布式_V2.0-8.x)
- 工具参考
-
特性指南
- 特性指南(分布式_V2.0-8.x)
- 特性指南(集中式_V2.0-8.x)
- 特性指南(分布式_V2.0-3.x)
- 特性指南(集中式_V2.0-3.x)
- 最佳实践
- 性能白皮书
- API参考
- SDK参考
- 场景代码示例
-
常见问题
-
产品咨询
- 使用GaussDB要注意些什么
- 什么是GaussDB实例可用性
- GaussDB实例是否会受其他用户实例的影响
- 为何使用了GaussDB后网站登录较慢
- 多台弹性云服务器是否可以连接同一个GaussDB数据库
- 购买GaussDB实例后可以对磁盘进行加密吗
- GaussDB购买磁盘加密后,备份文件会加密吗
- 不同GaussDB实例的CPU和内存是否共享
- GaussDB实例内能运行多少个数据库
- GaussDB与PostgreSQL的关系
- 使用DAS登录GaussDB数据库是否有人数限制,密码多次输入错误有无锁死机制
- GaussDB分布式独立部署与分布式混合部署有什么区别
- GaussDB通用型、独享型和鲲鹏独享型性能规格之间的区别是什么
- GaussDB企业版和基础版可以互相切换吗
- GaussDB资源冻结/解冻/释放/删除/退订
- 资源及磁盘管理
- 数据库连接
- 数据库存储
- 数据库基本使用
- 备份与恢复
- 数据库监控
- 扩容及规格变更
-
数据库参数修改
- GaussDB如何修改时区
- GaussDB密码过期策略
- GaussDB是否支持使用SQL命令修改全局参数
- GaussDB是否支持开启SELECT审计功能
- GaussDB如何设置磁盘占用率只读检测阈值
- GaussDB如何设置日期和时间的显示格式
- GaussDB如何设置显示和解释时间类型数值时使用的时区
- GaussDB如何修改DN的最大连接数
- GaussDB如何开启INSERT、UPDATE、DELETE审计功能
- GaussDB如何设置最大允许创建walsender线程的个数
- GaussDB如何设置记录每个SQL的最大字节数
- GaussDB如何设置连接超时时间
- GaussDB如何设置账户被锁定后自动解锁的时间
- GaussDB如何设置账户最大登录失败次数
- 日志管理
- 网络安全
-
产品咨询
- 兼容性参考
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
查询改写的Hint
功能描述
优化器支持一系列查询改写规则,可以对SQL语句进行等价的逻辑改写,从而生成更好的执行计划。但在一些场景下,用户并不希望改写SQL语句、或者优化器的改写会导致计划跳变,对于这些特定的场景,需要能够使用hint对改写规则进行控制,让优化器按照特定的方式进行改写。目前数据库支持对ANY/EXISTS的子链接、简单子查询、消减ORDER BY、HAVING子句下推、延迟聚合等多种场景的SQL进行hint控制,具体请参见:Hint使用说明。
- 部分查询改写规则同时受查询改写的hint和GUC参数控制,通常查询改写的hint优先级高于GUC参数控制,涉及到受GUC参数控制的改写规则会在Hint使用说明相关章节进行描述。
- 每条查询改写规则受一对互斥的hint控制,如:子查询展开的规则同时受EXPAND_SUBQUERY和NO_EXPAND_SUBQUERY控制,其中,EXPAND_SUBQUERY Hint表示允许应用该规则对SQL进行改写,NO_EXPAND_SUBQUERY表示禁止使用该规则对SQL进行改写。且当同一个查询块(queryblock)中同时存在两个互斥的hint时,以获取的首个hint为准,例如:/*+ EXPAND_SUBQUERY NO_EXPAND_SUBQUERY */,则EXPAND_SUBQUERY Hint生效。
- 查询改写的hint允许重复,但对于重复的hint数据库只会使用第一个,对于其他未使用的hint则会报"unused hint" Warning提示。例如:/*+ EXPAND_SUBLINK EXPAND_SUBLINK */,由于数据库只使用第一个EXPAND_SUBLINK hint,所以仍然会报"unused hint" Warning提示。
语法格式
hintname[(@queryblock)]
参数说明
- hintname:控制查询改写规则的hint名称,当前支持的查询改写hint请参见表 查询改写支持的Hint列表。
- @queryblock请参见指定Hint所处于的查询块Queryblock,可省略,表示在当前查询块生效,当不指定时,hint没有括号"()"。
查询改写Hint列表
序号 |
hint名称 |
描述 |
---|---|---|
1 |
EXPAND_SUBLINK_HAVING |
允许HAVING子句中的子链接提升。 |
2 |
NO_EXPAND_SUBLINK_HAVING |
禁止HAVING子句中的子链接提升。 |
3 |
EXPAND_SUBLINK |
允许对ANY/EXISTS类型子链接进行提升。 |
4 |
NO_EXPAND_SUBLINK |
禁止对ANY/EXISTS类型子链接进行提升。 |
5 |
EXPAND_SUBLINK_TARGET |
允许对TargetList中的子链接进行提升。 |
6 |
NO_EXPAND_SUBLINK_TARGET |
禁止对TargetList中的子链接进行提升。 |
7 |
USE_MAGIC_SET |
从主查询下推条件到子查询,先针对子查询的关联字段进行分组聚集,再和主查询进行关联,减少相关子链接的重复扫描,提升查询效率。 |
8 |
NO_USE_MAGIC_SET |
禁止从主查询下推条件到子查询,将带有聚集算子的子查询提前和主查询进行关联。 |
9 |
EXPAND_SUBLINK_UNIQUE_CHECK |
允许对无agg的子链接进行提升,子链接提升需要保证对于每个条件只有一行输出。 |
10 |
NO_EXPAND_SUBLINK_UNIQUE_CHECK |
禁止对无agg的子链接进行提升。 |
11 |
NO_SUBLINK_DISABLE_REPLICATED |
允许带有复制表的fast query shipping或者Stream场景的表达式子链接提升。 |
12 |
SUBLINK_DISABLE_REPLICATED |
禁止带有复制表的fast query shipping或者Stream场景的表达式子链接提升。 |
13 |
NO_SUBLINK_DISABLE_EXPR |
允许对表达式类型的子链接进行提升。 |
14 |
SUBLINK_DISABLE_EXPR |
禁止对表达式类型的子链接进行提升。 |
15 |
ENABLE_SUBLINK_ENHANCED |
允许子链接提升增强,支持对OR表达式等相关或非相关子链接提升。 |
16 |
NO_ENABLE_SUBLINK_ENHANCED |
禁用子链接提升增强,禁止对OR表达式等相关或非相关子链接提升。 |
17 |
PARTIAL_PUSH |
Stream场景支持对listagg和arrayagg添加gather算子。 |
18 |
NO_PARTIAL_PUSH |
Stream场景禁止对listagg和arrayagg添加gather算子。 |
19 |
REDUCE_ORDER_BY |
消减冗余的ORDER BY,外层查询对内层查询结果无排序要求时,可以减少不必要的ORDER BY提升查询效率。 |
20 |
NO_REDUCE_ORDER_BY |
禁止消减不必要的ORDER BY。 |
21 |
REMOVE_NOT_NULL |
消减不必要的NOT NULL条件,当列属性为NOT NULL时,可以消减查询条件中的IS NOT NULL判断。 |
22 |
NO_REMOVE_NOT_NULL |
禁止消减IS NOT NULL条件判断。 |
23 |
LAZY_AGG |
子查询与外层查询存在同样的GROUP BY条件,两层聚集运算可能导致查询效率低下,消除子查询中的聚集运算,以此提高查询效率。 |
24 |
NO_LAZY_AGG |
禁用消除子查询中的聚集运算规则。 |
25 |
EXPAND_SUBQUERY |
子查询提升,将子查询提升与上层做JOIN连接,优化查询效率。 |
26 |
NO_EXPAND_SUBQUERY |
禁用子查询提升。 |
27 |
PUSHDOWN_HAVING |
下推HAVING条件表达式。 |
28 |
NO_PUSHDOWN_HAVING |
禁止下推HAVING表达式。 |
29 |
INLIST_TO_JOIN |
控制使用inlist-to-join对SQL进行改写。 |
30 |
NO_INLIST_TO_JOIN |
控制禁止使用inlist-to-join对SQL进行改写。 |
31 |
ROWNUM_PUSHDOWN |
允许行号下推。 |
32 |
NO_ROWNUM_PUSHDOWN |
禁止行号下推。 |
33 |
WINDOWAGG_PUSHDOWN |
允许父查询中窗口函数的过滤条件下推到子查询。 |
34 |
NO_WINDOWAGG_PUSHDOWN |
禁止父查询中窗口函数的过滤条件下推到子查询。 |
35 |
CSE_REWRITE_OPT |
允许使用公共子表达式CSE查询重写将having公共子查询重写为窗口聚集函数。 |
36 |
NO_CSE_REWRITE_OPT |
禁止使用公共子表达式CSE查询重写将having公共子查询重写为窗口聚集函数。 |
37 |
GROUPBY_PUSHDOWN_SUBQUERY |
允许使用groupby-pushdown-subquery查询重写将groupby聚集函数下推到子查询。 |
38 |
NO_GROUPBY_PUSHDOWN_SUBQUERY |
禁止使用groupby-pushdown-subquery查询重写将groupby聚集函数下推到子查询。 |
Hint使用准备
为了方便了解hint的使用场景,手册提供了所有查询改写hint的应用示例(请参见Hint使用说明),相关建表语句和环境准备如下:
- 会话设置:
SET client_encoding = 'UTF8'; CREATE SCHEMA rewrite_rule_test; SET current_schema = rewrite_rule_test; SET enable_codegen= off;
- 建表语句:
CREATE TABLE rewrite_rule_hint_t1 (a INT, b INT, c INT, d INT); CREATE TABLE rewrite_rule_hint_t2 (a INT, b INT, c INT, d INT); CREATE TABLE rewrite_rule_hint_t3 (a INT, b INT, c INT, d INT); CREATE TABLE rewrite_rule_hint_t4 (a INT NOT NULL, b INT, c INT, d INT); CREATE TABLE rewrite_rule_hint_t5 (slot INTEGER NOT NULL,cid BIGINT NOT NULL,name CHARACTER VARYING NOT NULL) WITH (ORIENTATION = row); INSERT INTO rewrite_rule_hint_t5 (slot, cid, name) values(generate_series(1, 10),generate_series(1, 10),'records.storage.state'); ANALYZE rewrite_rule_hint_t5; CREATE TABLE rewrite_rule_hint_customer ( c_custkey INTEGER NOT NULL, c_name CHARACTER VARYING(25) NOT NULL, c_address CHARACTER VARYING(40) NOT NULL, c_nationkey INTEGER NOT NULL, c_phone CHARACTER(15) NOT NULL, c_acctbal NUMERIC(15, 2) NOT NULL, c_mktsegment CHARACTER(10) NOT NULL, c_comment CHARACTER VARYING(117) NOT NULL ); CREATE TABLE rewrite_rule_hint_orders ( o_orderkey INTEGER NOT NULL, o_custkey INTEGER NOT NULL, o_orderstatus CHARACTER(1) NOT NULL, o_totalprice NUMERIC(15, 2) NOT NULL, o_orderdate DATE NOT NULL, o_orderpriority CHARACTER(15) NOT NULL, o_clerk CHARACTER(15) NOT NULL, o_shippriority INTEGER NOT NULL, o_comment CHARACTER VARYING(79) NOT NULL );
Hint使用说明
- EXPAND_SUBLINK_HAVING
允许HAVING子句中的子链接提升。该场景同时受GUC参数rewrite_rule的控制,当未使用本规则的hint且rewrite_rule值为enable_sublink_pullup_enhanced时,规则同样生效。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与NO_EXPAND_SUBLINK_HAVING为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off)SELECT /*+EXPAND_SUBLINK_HAVING*/ a,sum(b) AS value FROM rewrite_rule_hint_t1 GROUP BY a HAVING sum(a) >= (SELECT avg(b) FROM rewrite_rule_hint_t1) ORDER BY value DESC; QUERY PLAN ---------------------------------------------------------------------- Sort Sort Key: inner_subquery.value DESC InitPlan 1 (returns $0) -> Aggregate -> Seq Scan on rewrite_rule_hint_t1 -> Subquery Scan on inner_subquery -> HashAggregate Group By Key: rewrite_rule_test.rewrite_rule_hint_t1.a Filter: ((sum(rewrite_rule_test.rewrite_rule_hint_t1.a))::numeric >= $0) -> Seq Scan on rewrite_rule_hint_t1 (10 rows)
- NO_EXPAND_SUBLINK_HAVING
禁止HAVING子句中的子链接提升。该场景同时受GUC参数rewrite_rule的控制,当未使用本规则的hint且rewrite_rule值未设置为enable_sublink_pullup_enhanced时,规则同样禁用。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与EXPAND_SUBLINK_HAVING为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off)SELECT /*+NO_EXPAND_SUBLINK_HAVING*/ a,sum(b) AS value FROM rewrite_rule_hint_t1 GROUP BY a HAVING sum(a) >= (SELECT avg(b) FROM rewrite_rule_hint_t1) ORDER BY value DESC; QUERY PLAN ---------------------------------------------------------------------------------- Sort Sort Key: (sum(rewrite_rule_test.rewrite_rule_hint_t1.b)) DESC InitPlan 1 (returns $0) -> Aggregate -> Seq Scan on rewrite_rule_hint_t1 -> HashAggregate Group By Key: rewrite_rule_test.rewrite_rule_hint_t1.a Filter: ((sum(rewrite_rule_test.rewrite_rule_hint_t1.a))::numeric >= $0) -> Seq Scan on rewrite_rule_hint_t1 (9 rows)
- EXPAND_SUBLINK
允许子链接进行提升。支持对[Not]Any类型的非相关子链接或[Not]Exists类型的相关子链接等场景的控制。该场景下本规则的hint与NO_EXPAND Hint互斥,且该hint的优先级高于NO_EXPAND。该hint与NO_EXPAND_SUBLINK为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off)SELECT * FROM rewrite_rule_hint_t1 WHERE a > ANY(SELECT /*+EXPAND_SUBLINK*/ a FROM rewrite_rule_hint_t2) AND b > ANY (SELECT /*+EXPAND_SUBLINK*/a FROM rewrite_rule_hint_t3); QUERY PLAN ------------------------------------------------------------------------ Nested Loop Semi Join Join Filter: (rewrite_rule_hint_t1.b > rewrite_rule_hint_t3.a) -> Nested Loop Semi Join Join Filter: (rewrite_rule_hint_t1.a > rewrite_rule_hint_t2.a) -> Seq Scan on rewrite_rule_hint_t1 -> Materialize -> Seq Scan on rewrite_rule_hint_t2 -> Materialize -> Seq Scan on rewrite_rule_hint_t3 (9 rows)
- NO_EXPAND_SUBLINK
禁止子链接进行提升。支持对[Not]Any类型的非相关子链接或[Not]Exists类型的相关子链接等场景的控制。该场景下本规则的hint与NO_EXPAND Hint等效。该hint与EXPAND_SUBLINK为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off)SELECT * FROM rewrite_rule_hint_t1 WHERE a > ANY(SELECT /*+NO_EXPAND_SUBLINK*/ a FROM rewrite_rule_hint_t2) AND b > ANY (SELECT /*+EXPAND_SUBLINK*/a FROM rewrite_rule_hint_t3); QUERY PLAN ------------------------------------------------------ Seq Scan on rewrite_rule_hint_t1 Filter: ((NOT (hashed SubPlan 2)) AND (SubPlan 1)) SubPlan 2 -> Seq Scan on rewrite_rule_hint_t3 SubPlan 1 -> Materialize -> Seq Scan on rewrite_rule_hint_t2 (7 rows)
- EXPAND_SUBLINK_TARGET
允许TargetList中的子链接进行提升。该场景下本规则的hint与NO_EXPAND Hint互斥,且该hint优先级高于NO_EXPAND。该场景同时受GUC参数rewrite_rule的控制,当未使用本规则的hint且rewrite_rule值为intargetlist时,规则同样生效。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与NO_EXPAND_SUBLINK_TARGET为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off)SELECT a,(SELECT /*+EXPAND_SUBLINK_TARGET*/ avg(b) FROM rewrite_rule_hint_t1 WHERE rewrite_rule_hint_t1.b = rewrite_rule_hint_t2.b) FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t2.a < 100 ORDER BY rewrite_rule_hint_t2.b; QUERY PLAN ---------------------------------------------------------------------- Sort Sort Key: rewrite_rule_hint_t2.b -> Hash Left Join Hash Cond: (rewrite_rule_hint_t2.b = rewrite_rule_hint_t1.b) -> Seq Scan on rewrite_rule_hint_t2 Filter: (a < 100) -> Hash -> HashAggregate Group By Key: rewrite_rule_hint_t1.b -> Seq Scan on rewrite_rule_hint_t1 (10 rows)
- NO_EXPAND_SUBLINK_TARGET
禁止TargetList中的子链接进行提升。该场景下本规则的hint与NO_EXPAND Hint等效。该场景同时受GUC参数rewrite_rule的控制,当未使用本规则的hint且rewrite_rule值未设置为intargetlist时,规则同样禁用。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与EXPAND_SUBLINK_TARGET为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off)SELECT a,(SELECT /*+NO_EXPAND_SUBLINK_TARGET*/ avg(b) FROM rewrite_rule_hint_t1 WHERE rewrite_rule_hint_t1.b = rewrite_rule_hint_t2.b) FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t2.a < 100 ORDER BY rewrite_rule_hint_t2.b; QUERY PLAN ------------------------------------------------------------ Sort Sort Key: rewrite_rule_hint_t2.b -> Seq Scan on rewrite_rule_hint_t2 Filter: (a < 100) SubPlan 1 -> Aggregate -> Seq Scan on rewrite_rule_hint_t1 Filter: (b = rewrite_rule_hint_t2.b) (8 rows)
- USE_MAGIC_SET
从主查询下推条件到子查询。先针对子查询的关联字段进行分组聚集,再和主查询进行关联,减少相关子链接的重复扫描,提升查询效率。该场景同时受GUC参数rewrite_rule的控制,当未使用本规则的hint且rewrite_rule值设置为magicset时,规则同样生效。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与NO_USE_MAGIC_SET为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off) SELECT rewrite_rule_hint_t1 FROM rewrite_rule_hint_t1 WHERE rewrite_rule_hint_t1.b = 10 AND rewrite_rule_hint_t1.c < (SELECT /*+USE_MAGIC_SET*/ sum(c) FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t1.a = rewrite_rule_hint_t2.a); QUERY PLAN ---------------------------------------------------------------------------------------------- Hash Join Hash Cond: (rewrite_rule_hint_t2.a = rewrite_rule_test.rewrite_rule_hint_t1.a) Join Filter: (rewrite_rule_test.rewrite_rule_hint_t1.c < (sum(rewrite_rule_hint_t2.c))) -> HashAggregate Group By Key: rewrite_rule_hint_t2.a -> Hash Join Hash Cond: (rewrite_rule_hint_t2.a = rewrite_rule_test.rewrite_rule_hint_t1.a) -> Seq Scan on rewrite_rule_hint_t2 -> Hash -> HashAggregate Group By Key: rewrite_rule_test.rewrite_rule_hint_t1.a -> Seq Scan on rewrite_rule_hint_t1 Filter: (b = 10) -> Hash -> Seq Scan on rewrite_rule_hint_t1 Filter: (b = 10) (16 rows)
- NO_USE_MAGIC_SET
禁止从主查询下推条件到子查询。将带有聚集算子的子查询提前和主查询进行关联。该场景同时受GUC参数rewrite_rule的控制,当未使用本规则的hint且rewrite_rule值未设置为magicset时,规则同样禁用。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与USE_MAGIC_SET为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off) SELECT rewrite_rule_hint_t1 FROM rewrite_rule_hint_t1 WHERE rewrite_rule_hint_t1.b = 10 AND rewrite_rule_hint_t1.c < (SELECT /*+NO_USE_MAGIC_SET*/ sum(c) FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t1.a = rewrite_rule_hint_t2.a); QUERY PLAN ------------------------------------------------------------------------- Hash Join Hash Cond: (rewrite_rule_hint_t2.a = rewrite_rule_hint_t1.a) Join Filter: (rewrite_rule_hint_t1.c < (sum(rewrite_rule_hint_t2.c))) -> HashAggregate Group By Key: rewrite_rule_hint_t2.a -> Seq Scan on rewrite_rule_hint_t2 -> Hash -> Seq Scan on rewrite_rule_hint_t1 Filter: (b = 10) (9 rows)
- EXPAND_SUBLINK_UNIQUE_CHECK
提升无agg的子链接。子链接提升需要保证对于每个条件只有一行输出,对于有agg的子链接可以自动提升。该场景同时受GUC参数rewrite_rule的控制,当未使用本规则的hint且rewrite_rule值为uniquecheck时,规则同样生效。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与NO_EXPAND_SUBLINK_UNIQUE_CHECK为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off)SELECT rewrite_rule_hint_t1.a FROM rewrite_rule_hint_t1 WHERE rewrite_rule_hint_t1.a = (SELECT /*+EXPAND_SUBLINK_UNIQUE_CHECK*/ rewrite_rule_hint_t2.a FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t1.a = rewrite_rule_hint_t2.b); QUERY PLAN ------------------------------------------------------------------------------- Hash Join Hash Cond: (rewrite_rule_hint_t1.a = subquery."?column?") -> Seq Scan on rewrite_rule_hint_t1 -> Hash -> Subquery Scan on subquery -> HashAggregate Group By Key: rewrite_rule_hint_t2.b Filter: (rewrite_rule_hint_t2.b = rewrite_rule_hint_t2.a) Unique Check Required -> Seq Scan on rewrite_rule_hint_t2 (10 rows)
- NO_EXPAND_SUBLINK_UNIQUE_CHECK
禁止提升无agg的子链接。该场景同时受GUC参数rewrite_rule的控制,当未使用本规则的hint且rewrite_rule值未设置为uniquecheck时,规则同样禁用。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与EXPAND_SUBLINK_UNIQUE_CHECK为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off)SELECT rewrite_rule_hint_t1.a FROM rewrite_rule_hint_t1 WHERE rewrite_rule_hint_t1.a = (SELECT /*+NO_EXPAND_SUBLINK_UNIQUE_CHECK*/ rewrite_rule_hint_t2.a FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t1.a = rewrite_rule_hint_t2.b); QUERY PLAN ------------------------------------------------ Seq Scan on rewrite_rule_hint_t1 Filter: (a = (SubPlan 1)) SubPlan 1 -> Seq Scan on rewrite_rule_hint_t2 Filter: (rewrite_rule_hint_t1.a = b) (5 rows)
- NO_SUBLINK_DISABLE_REPLICATED
不禁止带有复制表的fast query shipping或者Stream场景提升子链接。该场景同时受GUC参数rewrite_rule的控制,当未使用本规则的hint且rewrite_rule值未设置为disablerep时,规则生效。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与SUBLINK_DISABLE_REPLICATED为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off)SELECT * FROM rewrite_rule_hint_t1 WHERE (0 =(SELECT /*+NO_SUBLINK_DISABLE_REPLICATED*/ count(*) FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t2.a = rewrite_rule_hint_t1.a) OR NOT EXISTS(SELECT /*+NO_SUBLINK_DISABLE_REPLICATED*/1 FROM rewrite_rule_hint_t3 WHERE rewrite_rule_hint_t3.b = rewrite_rule_hint_t1.b)); QUERY PLAN --------------------------------------------------------------------------------------------------------------------------- Hash Left Join Hash Cond: (rewrite_rule_hint_t1.b = rewrite_rule_hint_t3.b) Filter: (((subquery."?column?" IS NOT NULL) AND (0 = COALESCE(subquery.count, 0))) OR (rewrite_rule_hint_t3.b IS NULL)) -> Hash Left Join Hash Cond: (rewrite_rule_hint_t1.a = subquery."?column?") -> Seq Scan on rewrite_rule_hint_t1 -> Hash -> Subquery Scan on subquery -> HashAggregate Group By Key: rewrite_rule_hint_t2.a -> Seq Scan on rewrite_rule_hint_t2 -> Hash -> HashAggregate Group By Key: rewrite_rule_hint_t3.b -> Seq Scan on rewrite_rule_hint_t3 (15 rows)
- SUBLINK_DISABLE_REPLICATED
禁止带有复制表的fast query shipping或者Stream场景提升子链接。该场景同时受GUC参数rewrite_rule的控制,当未使用本规则的hint且rewrite_rule值设置为disablerep时,规则禁用。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与NO_SUBLINK_DISABLE_REPLICATED为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off)SELECT * FROM rewrite_rule_hint_t1 WHERE (0 =(SELECT /*+SUBLINK_DISABLE_REPLICATED*/ count(*) FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t2.a = rewrite_rule_hint_t1.a) OR NOT EXISTS(SELECT /*+NO_SUBLINK_DISABLE_REPLICATED*/1 FROM rewrite_rule_hint_t3 WHERE rewrite_rule_hint_t3.b = rewrite_rule_hint_t1.b)); QUERY PLAN -------------------------------------------------------------------------------------- Seq Scan on rewrite_rule_hint_t1 Filter: ((0 = (SubPlan 1)) OR (NOT (alternatives: SubPlan 2 or hashed SubPlan 3))) SubPlan 1 -> Aggregate -> Seq Scan on rewrite_rule_hint_t2 Filter: (a = rewrite_rule_hint_t1.a) SubPlan 2 -> Seq Scan on rewrite_rule_hint_t3 Filter: (b = rewrite_rule_hint_t1.b) SubPlan 3 -> Seq Scan on rewrite_rule_hint_t3 (11 rows)
- NO_SUBLINK_DISABLE_EXPR
允许子链接中表达式提升。该场景同时受GUC参数rewrite_rule的控制,当未使用本规则的hint且rewrite_rule值未设置为disable_pullup_expr_sublink时,规则同样生效。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与SUBLINK_DISABLE_EXPR为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off)SELECT a FROM rewrite_rule_hint_t1 WHERE rewrite_rule_hint_t1.b = (SELECT /*+NO_SUBLINK_DISABLE_EXPR*/ max(b) FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t2.a = rewrite_rule_hint_t1.a); QUERY PLAN ----------------------------------------------------------------------------------------------------------- Hash Join Hash Cond: ((rewrite_rule_hint_t1.a = subquery."?column?") AND (rewrite_rule_hint_t1.b = subquery.max)) -> Seq Scan on rewrite_rule_hint_t1 -> Hash -> Subquery Scan on subquery -> HashAggregate Group By Key: rewrite_rule_hint_t2.a -> Seq Scan on rewrite_rule_hint_t2 (8 rows)
- SUBLINK_DISABLE_EXPR
禁止子链接中表达式提升。该场景同时受GUC参数rewrite_rule的控制,当未使用本规则的hint且rewrite_rule值为disable_pullup_expr_sublink时,规则同样禁用。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与NO_SUBLINK_DISABLE_EXPR为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off)SELECT a FROM rewrite_rule_hint_t1 WHERE rewrite_rule_hint_t1.b = (SELECT /*+SUBLINK_DISABLE_EXPR*/ max(b) FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t2.a = rewrite_rule_hint_t1.a); QUERY PLAN ------------------------------------------------------ Seq Scan on rewrite_rule_hint_t1 Filter: (b = (SubPlan 1)) SubPlan 1 -> Aggregate -> Seq Scan on rewrite_rule_hint_t2 Filter: (a = rewrite_rule_hint_t1.a) (6 rows)
- ENABLE_SUBLINK_ENHANCED
子链接提升增强。该场景同时受GUC参数rewrite_rule的控制,当未使用本规则的hint且rewrite_rule值设置为enable_sublink_pullup_enhanced时,规则同样生效。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与NO_ENABLE_SUBLINK_ENHANCED为一组互斥的规则控制hint。
gaussdb=# EXPLAIN (costs off)SELECT cntrycode,count(*) AS numcust,sum(c_acctbal) AS totacctbal FROM (SELECT substring(c_phone from 1 for 2) AS cntrycode,c_acctbal FROM rewrite_rule_hint_customer WHERE substring(c_phone from 1 for 2) IN ('22', '25', '26', '14', '18', '30', '17')AND c_acctbal > (SELECT /*+ENABLE_SUBLINK_ENHANCED*/ avg(c_acctbal) FROM rewrite_rule_hint_customer WHERE c_acctbal > 0.00 AND substring(c_phone from 1 for 2) IN ('22', '25', '26', '14', '18', '30', '17')) AND NOT EXISTS (SELECT * FROM rewrite_rule_hint_orders WHERE o_custkey = c_custkey)) AS custsale GROUP BY cntrycode ORDER BY cntrycode; QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------- GroupAggregate Group By Key: ("substring"((rewrite_rule_test.rewrite_rule_hint_customer.c_phone)::text, 1, 2)) -> Sort Sort Key: ("substring"((rewrite_rule_test.rewrite_rule_hint_customer.c_phone)::text, 1, 2)) -> Hash Right Anti Join Hash Cond: (rewrite_rule_hint_orders.o_custkey = rewrite_rule_test.rewrite_rule_hint_customer.c_custkey) -> Seq Scan on rewrite_rule_hint_orders -> Hash -> Nested Loop Join Filter: (rewrite_rule_test.rewrite_rule_hint_customer.c_acctbal > (avg(rewrite_rule_test.rewrite_rule_hint_customer.c_acctbal))) -> Aggregate -> Seq Scan on rewrite_rule_hint_customer Filter: ((c_acctbal > 0.00) AND ("substring"((c_phone)::text, 1, 2) = ANY ('{22,25,26,14,18,30,17}'::text[]))) -> Seq Scan on rewrite_rule_hint_customer Filter: ("substring"((c_phone)::text, 1, 2) = ANY ('{22,25,26,14,18,30,17}'::text[])) (15 rows)
- NO_ENABLE_SUBLINK_ENHANCED
禁用子链接提升增强。该场景同时受GUC参数rewrite_rule的控制,当未使用本规则的hint且rewrite_rule值未设置为enable_sublink_pullup_enhanced时,规则禁用。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与ENABLE_SUBLINK_ENHANCED为一组互斥的规则控制hint。
gaussdb=# EXPLAIN (costs off)SELECT cntrycode,count(*) AS numcust,sum(c_acctbal) AS totacctbal FROM (SELECT substring(c_phone from 1 for 2) AS cntrycode,c_acctbal FROM rewrite_rule_hint_customer WHERE substring(c_phone from 1 for 2) IN ('22', '25', '26', '14', '18', '30', '17')AND c_acctbal > (SELECT /*+NO_ENABLE_SUBLINK_ENHANCED*/ avg(c_acctbal) FROM rewrite_rule_hint_customer WHERE c_acctbal > 0.00 AND substring(c_phone from 1 for 2) IN ('22', '25', '26', '14', '18', '30', '17')) AND NOT EXISTS (SELECT * FROM rewrite_rule_hint_orders WHERE o_custkey = c_custkey)) AS custsale GROUP BY cntrycode ORDER BY cntrycode; QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------------------- GroupAggregate Group By Key: ("substring"((rewrite_rule_test.rewrite_rule_hint_customer.c_phone)::text, 1, 2)) InitPlan 1 (returns $0) -> Aggregate -> Seq Scan on rewrite_rule_hint_customer Filter: ((c_acctbal > 0.00) AND ("substring"((c_phone)::text, 1, 2) = ANY ('{22,25,26,14,18,30,17}'::text[]))) -> Sort Sort Key: ("substring"((rewrite_rule_test.rewrite_rule_hint_customer.c_phone)::text, 1, 2)) -> Hash Right Anti Join Hash Cond: (rewrite_rule_hint_orders.o_custkey = rewrite_rule_test.rewrite_rule_hint_customer.c_custkey) -> Seq Scan on rewrite_rule_hint_orders -> Hash -> Seq Scan on rewrite_rule_hint_customer Filter: ((c_acctbal > $0) AND ("substring"((c_phone)::text, 1, 2) = ANY ('{22,25,26,14,18,30,17}'::text[]))) (14 rows)
- PARTIAL_PUSH
Stream场景支持对listagg和arrayagg添加gather算子。该场景同时受GUC参数rewrite_rule的控制,当未使用本规则的hint且rewrite_rule值设置为partialpush时,规则同样生效。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与NO_PARTIAL_PUSH为一组互斥的规则控制hint。
gaussdb=# SET rewrite_rule='intargetlist'; SET query_dop = 10; SET enable_force_smp = on; EXPLAIN (costs off)SELECT /*+PARTIAL_PUSH*/listagg((SELECT b FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t2.b = rewrite_rule_hint_t1.b ORDER BY rewrite_rule_hint_t2.c limit 1), ',') WITHIN GROUP(ORDER BY rewrite_rule_hint_t1.b) FROM rewrite_rule_hint_t1 ORDER BY 1; QUERY PLAN ------------------------------------------------------------------------------------------------------ Sort Sort Key: (listagg(subquery.b, ','::text ) WITHIN GROUP ( ORDER BY rewrite_rule_hint_t1.b)) -> Aggregate -> Streaming(type: LOCAL GATHER dop: 1/10) -> Hash Right Join Hash Cond: (subquery."?column?" = rewrite_rule_hint_t1.b) -> Streaming(type: BROADCAST dop: 10/10) -> Subquery Scan on subquery Filter: (subquery."?column?" OPERATOR(pg_catalog.=) 1::bigint) -> WindowAgg -> Sort Sort Key: rewrite_rule_hint_t2.b, rewrite_rule_hint_t2.c -> Streaming(type: LOCAL REDISTRIBUTE dop: 10/10) -> Seq Scan on rewrite_rule_hint_t2 -> Hash -> Seq Scan on rewrite_rule_hint_t1 (16 rows)
- NO_PARTIAL_PUSH
Stream场景禁止对listagg和arrayagg添加gather算子。该场景同时受GUC参数rewrite_rule的控制,当未使用本规则的hint且rewrite_rule值未设置为partialpush时,规则禁用。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与PARTIAL_PUSH为一组互斥的规则控制hint。
gaussdb=# SET rewrite_rule='intargetlist'; SET query_dop = 10; SET enable_force_smp = on; EXPLAIN (costs off)SELECT /*+NO_PARTIAL_PUSH*/listagg((SELECT b FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t2.b = rewrite_rule_hint_t1.b ORDER BY rewrite_rule_hint_t2.c limit 1), ',') WITHIN GROUP(ORDER BY rewrite_rule_hint_t1.b) FROM rewrite_rule_hint_t1 ORDER BY 1; QUERY PLAN ----------------------------------------------------------------------------------------------- Sort Sort Key: (listagg(subquery.b, ','::text ) WITHIN GROUP ( ORDER BY rewrite_rule_hint_t1.b)) -> Aggregate -> Hash Right Join Hash Cond: (subquery."?column?" = rewrite_rule_hint_t1.b) -> Subquery Scan on subquery Filter: (subquery."?column?" OPERATOR(pg_catalog.=) 1::bigint) -> WindowAgg -> Sort Sort Key: rewrite_rule_hint_t2.b, rewrite_rule_hint_t2.c -> Seq Scan on rewrite_rule_hint_t2 -> Hash -> Seq Scan on rewrite_rule_hint_t1 (13 rows)
- REDUCE_ORDER_BY
消减不必要的ORDER BY。当外层查询对内层查询结果无排序要求时,可以减少不必要的ORDER BY提升查询效率。该hint与NO_REDUCE_ORDER_BY为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off)SELECT * FROM rewrite_rule_hint_t1,(SELECT /*+REDUCE_ORDER_BY*/ * FROM rewrite_rule_hint_t2 ORDER BY a DESC); QUERY PLAN ---------------------------------------------- Nested Loop -> Seq Scan on rewrite_rule_hint_t1 -> Materialize -> Seq Scan on rewrite_rule_hint_t2 (4 rows)
- NO_REDUCE_ORDER_BY
禁止消减不必要的ORDER BY。该hint与REDUCE_ORDER_BY为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off)SELECT * FROM rewrite_rule_hint_t1,(SELECT /*+NO_REDUCE_ORDER_BY*/ * FROM rewrite_rule_hint_t2 ORDER BY a DESC); QUERY PLAN ----------------------------------------------------- Nested Loop -> Seq Scan on rewrite_rule_hint_t1 -> Materialize -> Sort Sort Key: rewrite_rule_hint_t2.a DESC -> Seq Scan on rewrite_rule_hint_t2 (6 rows)
- REMOVE_NOT_NULL
消减不必要的IS NOT NULL条件。当列属性为NOT NULL时可以消减查询条件中的IS NOT NULL判断。该场景同时受GUC参数enable_constraint_optimization控制,当未使用本规则的hint且enable_constraint_optimization值为on时,规则生效。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与NO_REMOVE_NOT_NULL为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off)SELECT /*+REMOVE_NOT_NULL*/ * FROM rewrite_rule_hint_t4 WHERE b > 10 OR a IS NOT NULL; QUERY PLAN ---------------------------------- Seq Scan on rewrite_rule_hint_t4 (1 row)
- NO_REMOVE_NOT_NULL
禁止消减不必要的IS NOT NULL条件。该场景同时受GUC参数enable_constraint_optimization控制,当未使用本规则的hint且enable_constraint_optimization值为off时,规则禁用。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与REMOVE_NOT_NULL为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off)SELECT /*+NO_REMOVE_NOT_NULL*/ * FROM rewrite_rule_hint_t4 WHERE b > 10 OR a IS NOT NULL; QUERY PLAN ----------------------------------------- Seq Scan on rewrite_rule_hint_t4 Filter: ((b > 10) OR (a IS NOT NULL)) (2 rows)
- LAZY_AGG
子查询与外层查询存在同样的GROUP BY条件。两层聚集运算可能导致查询效率低下,消除子查询中的聚集运算,以此提高查询效率。该场景同时受GUC参数rewrite_rule控制,当未使用本规则的hint且rewrite_rule值为lazyagg时,规则生效。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与NO_LAZY_AGG为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off)SELECT rewrite_rule_hint_t1.b,sum(cc) FROM (SELECT /*+LAZY_AGG*/b,sum(c) AS cc FROM rewrite_rule_hint_t2 GROUP BY b) s1,rewrite_rule_hint_t1 WHERE s1.b = rewrite_rule_hint_t1.b GROUP BY rewrite_rule_hint_t1.b ORDER BY 1,2; QUERY PLAN ----------------------------------------------------------------------------- Sort Sort Key: rewrite_rule_hint_t1.b, (sum((rewrite_rule_hint_t2.c)::bigint)) -> HashAggregate Group By Key: rewrite_rule_hint_t1.b -> Hash Join Hash Cond: (rewrite_rule_hint_t2.b = rewrite_rule_hint_t1.b) -> Seq Scan on rewrite_rule_hint_t2 -> Hash -> Seq Scan on rewrite_rule_hint_t1 (9 rows)
- NO_LAZY_AGG
禁用消除子查询中的聚集运算规则。该场景同时受GUC参数rewrite_rule控制,当未使用本规则的hint且rewrite_rule值未设置为lazyagg时,规则禁用。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与LAZY_AGG为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off)SELECT rewrite_rule_hint_t1.b,sum(cc) FROM (SELECT /*+NO_LAZY_AGG*/b,sum(c) AS cc FROM rewrite_rule_hint_t2 GROUP BY b) s1,rewrite_rule_hint_t1 WHERE s1.b = rewrite_rule_hint_t1.b GROUP BY rewrite_rule_hint_t1.b ORDER BY 1,2; QUERY PLAN ---------------------------------------------------------------------- Sort Sort Key: rewrite_rule_hint_t1.b, (sum(s1.cc)) -> HashAggregate Group By Key: rewrite_rule_hint_t1.b -> Hash Join Hash Cond: (rewrite_rule_hint_t1.b = s1.b) -> Seq Scan on rewrite_rule_hint_t1 -> Hash -> Subquery Scan on s1 -> HashAggregate Group By Key: rewrite_rule_hint_t2.b -> Seq Scan on rewrite_rule_hint_t2 (12 rows)
- EXPAND_SUBQUERY
子查询提升,将子查询提升与上层做join连接,优化查询效率。该场景下本规则hint与NO_EXPAND hint互斥,当同时使用本规则的hint和NO_EXPAND时,该hint的优先级更高。该hint与NO_EXPAND_SUBQUERY为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off) SELECT * FROM rewrite_rule_hint_t1,(SELECT /*+EXPAND_SUBQUERY*/ * FROM rewrite_rule_hint_t2 WHERE a > 1) tt WHERE rewrite_rule_hint_t1.a = tt.a; QUERY PLAN ---------------------------------------------------------------- Hash Join Hash Cond: (rewrite_rule_hint_t1.a = rewrite_rule_hint_t2.a) -> Seq Scan on rewrite_rule_hint_t1 Filter: (a > 1) -> Hash -> Seq Scan on rewrite_rule_hint_t2 Filter: (a > 1) (7 rows)
- NO_EXPAND_SUBQUERY
禁用子查询提升。该场景的hint和NO_EXPAND Hint等效,但该hint的优先级更高。该hint与EXPAND_SUBQUERY为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off) SELECT * FROM rewrite_rule_hint_t1,(SELECT /*+NO_EXPAND_SUBQUERY*/ * FROM rewrite_rule_hint_t2 WHERE a > 1) tt WHERE rewrite_rule_hint_t1.a = tt.a; QUERY PLAN ---------------------------------------------------------------- Hash Join Hash Cond: (rewrite_rule_hint_t1.a = rewrite_rule_hint_t2.a) -> Seq Scan on rewrite_rule_hint_t1 -> Hash -> Seq Scan on rewrite_rule_hint_t2 Filter: (a > 1) (6 rows)
- PUSHDOWN_HAVING
下推HAVING条件表达式。该hint与NO_PUSHDOWN_HAVING为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off)SELECT /*+PUSHDOWN_HAVING*/ sum(a),b,c FROM rewrite_rule_hint_t1 WHERE b > 0 GROUP BY b,c HAVING sum(a) > 100 AND c > 0; QUERY PLAN ---------------------------------------- HashAggregate Group By Key: b, c Filter: (sum(a) > 100) -> Seq Scan on rewrite_rule_hint_t1 Filter: ((b > 0) AND (c > 0)) (5 rows)
- NO_PUSHDOWN_HAVING
禁止下推HAVING表达式。该hint与PUSHDOWN_HAVING为一组互斥的规则控制hint。
gaussdb=# EXPLAIN(costs off)SELECT /*+NO_PUSHDOWN_HAVING*/ sum(a),b,c FROM rewrite_rule_hint_t1 WHERE b > 0 GROUP BY b,c HAVING sum(a) > 100 AND c > 0; QUERY PLAN ---------------------------------------- HashAggregate Group By Key: b, c Filter: ((sum(a) > 100) AND (c > 0)) -> Seq Scan on rewrite_rule_hint_t1 Filter: (b > 0) (5 rows)
- INLIST_TO_JOIN
控制使用inlist-to-join对SQL进行改写。该场景同时受GUC参数qrw_inlist2join_optmode的控制,当未使用本规则的hint且qrw_inlist2join_optmode值设置为rule_base时,规则生效。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与NO_INLIST_TO_JOIN为一组互斥的规则控制hint。
gaussdb=# EXPLAIN (costs off)SELECT * FROM rewrite_rule_hint_t5 WHERE slot = '5' AND (name) IN (SELECT /*+INLIST_TO_JOIN*/ name FROM rewrite_rule_hint_t5 WHERE slot = '5'AND cid IN (5,1000,1001,1002,1003,1004,1005,1006,1007,2000,4000,10781986,10880002)LIMIT 50); QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------- Nested Loop Semi Join Join Filter: ((rewrite_rule_test.rewrite_rule_hint_t5.name)::text = (rewrite_rule_test.rewrite_rule_hint_t5.name)::text) -> Seq Scan on rewrite_rule_hint_t5 Filter: (slot = 5) -> Limit -> Hash Right Semi Join Hash Cond: ("*VALUES*".column1 = rewrite_rule_test.rewrite_rule_hint_t5.cid) -> Values Scan on "*VALUES*" -> Hash -> Seq Scan on rewrite_rule_hint_t5 Filter: (slot = 5) (11 rows)
说明:
INLIST_TO_JOIN[(@queryblock threshold)]:支持无参数或任意大于等于0的整数值(取值范围INT型),兼容GUC参数qrw_inlist2join_optmode取值,推荐使用默认值即可。
参数说明:
- threshold:可选参数,查询重写阈值,可选值范围参考取值范围部分。
默认值:1(可选,未设置即取默认值)
取值范围:
- 0:cost_base
- 1:rule_base
- 其他任意正整数(INT型):查询重写阈值,即list内元素个数大于该阈值,进行inlist2join查询重写。
- NO_INLIST_TO_JOIN
控制禁止使用inlist-to-join对SQL进行改写。该场景同时受GUC参数qrw_inlist2join_optmode的控制,当未使用本规则的hint且qrw_inlist2join_optmode值设置为disable时,规则禁用。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与INLIST_TO_JOIN为一组互斥的规则控制hint。
gaussdb=# EXPLAIN (costs off)SELECT * FROM rewrite_rule_hint_t5 WHERE slot = '5' AND (name) IN (SELECT /*+NO_INLIST_TO_JOIN*/ name FROM rewrite_rule_hint_t5 WHERE slot = '5'AND cid IN (5,1000,1001,1002,1003,1004,1005,1006,1007,2000,4000,10781986,10880002)LIMIT 50); QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------ Nested Loop Semi Join Join Filter: ((rewrite_rule_test.rewrite_rule_hint_t5.name)::text = (rewrite_rule_test.rewrite_rule_hint_t5.name)::text) -> Seq Scan on rewrite_rule_hint_t5 Filter: (slot = 5) -> Limit -> Seq Scan on rewrite_rule_hint_t5 Filter: ((slot = 5) AND (cid = ANY ('{5,1000,1001,1002,1003,1004,1005,1006,1007,2000,4000,10781986,10880002}'::bigint[]))) (7 rows)
- ROWNUM_PUSHDOWN
允许行号下推。该场景同时受GUC参数rewrite_rule的控制,当未使用本规则的hint且rewrite_rule值未设置为disable_rownum_pushdown时,允许下推。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与NO_ROWNUM_PUSHDOWN为一组互斥的规则控制hint。
gaussdb=# EXPLAIN (costs off) SELECT * FROM (SELECT /*+ROWNUM_PUSHDOWN*/rownum rn, a FROM rewrite_rule_hint_t1) WHERE rn BETWEEN 5 AND 10; QUERY PLAN -------------------------------------------------------------------------------- Subquery Scan on __unnamed_subquery__ Filter: ((__unnamed_subquery__.rn >= 5) AND (__unnamed_subquery__.rn <= 10)) -> Rownum StopKey: (ROWNUM <= 10) -> Seq Scan on rewrite_rule_hint_t1 (5 rows)
- NO_ROWNUM_PUSHDOWN
禁止行号下推。该场景同时受GUC参数rewrite_rule的控制,当未使用本规则的hint且rewrite_rule值设置为disable_rownum_pushdown时,禁止下推。但当同时使用本规则的hint和GUC参数时,hint的优先级高于GUC参数。该hint与ROWNUM_PUSHDOWN为一组互斥的规则控制hint。
gaussdb=# EXPLAIN (costs off) SELECT * FROM (SELECT /*+NO_ROWNUM_PUSHDOWN*/rownum rn, a FROM rewrite_rule_hint_t1) WHERE rn BETWEEN 5 AND 10; QUERY PLAN -------------------------------------------------------------------------------- Subquery Scan on __unnamed_subquery__ Filter: ((__unnamed_subquery__.rn >= 5) AND (__unnamed_subquery__.rn <= 10)) -> Rownum -> Seq Scan on rewrite_rule_hint_t1 (4 rows)
- WINDOWAGG_PUSHDOWN
允许将父查询中窗口函数的过滤条件下推到子查询中。该场景同时受GUC参数rewrite_rule的控制,当未使用本规则的hint且GUC参数rewrite_rule值设置为disable_windowagg_pushdown时,禁止将父查询中窗口函数的过滤条件下推到子查询。当同时使用本规则的hint以及将GUC参数rewrite_rule值设置为disable_windowagg_pushdown时,hint的优先级高于GUC参数,允许将父查询中窗口函数的过滤条件下推到子查询。该hint与NO_WINDOWAGG_PUSHDOWN为一组互斥的规则控制hint。
gaussdb=# EXPLAIN (costs off) SELECT * FROM (SELECT /*+WINDOWAGG_PUSHDOWN*/ row_number() over() rid, rewrite_rule_hint_t1.a FROM rewrite_rule_hint_t1) WHERE rid BETWEEN 5 AND 10; QUERY PLAN --------------------------------------------------------- Subquery Scan on __unnamed_subquery__ Filter: (__unnamed_subquery__.rid >= 5) -> WindowAgg row_number_filter: (row_number() OVER () <= 10) -> Seq Scan on rewrite_rule_hint_t1 (5 rows)
- NO_WINDOWAGG_PUSHDOWN
禁止将父查询中窗口函数的过滤条件下推到子查询中。该场景同时受GUC参数rewrite_rule的控制,当使用本规则的hint或将GUC参数rewrite_rule值设置为disable_windowagg_pushdown时,禁止将父查询中窗口函数的过滤条件下推到子查询中。该hint与WINDOWAGG_PUSHDOWN为一组互斥的规则控制hint。
gaussdb=# EXPLAIN (costs off) SELECT * FROM (SELECT /*+NO_WINDOWAGG_PUSHDOWN*/ row_number() over() rid, rewrite_rule_hint_t1.a FROM rewrite_rule_hint_t1) WHERE rid BETWEEN 5 AND 10; QUERY PLAN ---------------------------------------------------------------------------------- Subquery Scan on __unnamed_subquery__ Filter: ((__unnamed_subquery__.rid >= 5) AND (__unnamed_subquery__.rid <= 10)) -> WindowAgg -> Seq Scan on rewrite_rule_hint_t1 (4 rows)
- CSE_REWRITE_OPT
允许将having公共子查询,即子查询表数量和连接方式与父查询相同的查询,进行提升成WindowAgg。目前仅支持包含一个having子查询。该hint与NO_CSE_REWRITE_OPT为一组互斥的规则控制hint。
gaussdb=# explain(costs off) SELECT /*+ CSE_REWRITE_OPT */ rewrite_rule_hint_t1.a, sum(rewrite_rule_hint_t1.c * rewrite_rule_hint_t1.d) AS VALUE FROM rewrite_rule_hint_t1,rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t1.b = rewrite_rule_hint_t2.b GROUP BY rewrite_rule_hint_t1.a HAVING sum(rewrite_rule_hint_t1.c * rewrite_rule_hint_t1.d) > (SELECT sum(rewrite_rule_hint_t1.c * rewrite_rule_hint_t1.d ) * (0.001 / 500) FROM rewrite_rule_hint_t1,rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t1.b = rewrite_rule_hint_t2.b) ORDER BY VALUE DESC; QUERY PLAN ---------------------------------------------------------------------------------------- Sort Sort Key: inner_subquery.value DESC -> Subquery Scan on inner_subquery Filter: (inner_subquery.value > inner_subquery."?column?") -> WindowAgg -> HashAggregate Group By Key: rewrite_rule_hint_t1.a -> Hash Join Hash Cond: (rewrite_rule_hint_t1.b = rewrite_rule_hint_t2.b) -> Seq Scan on rewrite_rule_hint_t1 -> Hash -> Seq Scan on rewrite_rule_hint_t2 (12 rows)
- NO_CSE_REWRITE_OPT
禁止将having公共子查询,即子查询表数量和连接方式与父查询相同的查询,进行提升成WindowAgg。该hint与CSE_REWRITE_OPT为一组互斥的规则控制hint。
gaussdb=# explain(costs off) SELECT /*+ NO_CSE_REWRITE_OPT */ rewrite_rule_hint_t1.a, sum(rewrite_rule_hint_t1.c * rewrite_rule_hint_t1.d) AS VALUE FROM rewrite_rule_hint_t1,rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t1.b = rewrite_rule_hint_t2.b GROUP BY rewrite_rule_hint_t1.a HAVING sum(rewrite_rule_hint_t1.c * rewrite_rule_hint_t1.d) > (SELECT sum(rewrite_rule_hint_t1.c * rewrite_rule_hint_t1.d ) * (0.001 / 500) FROM rewrite_rule_hint_t1,rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t1.b = rewrite_rule_hint_t2.b) ORDER BY VALUE DESC; QUERY PLAN --------------------------------------------------------------------------------------------- Sort Sort Key: (sum((public.rewrite_rule_hint_t1.c * public.rewrite_rule_hint_t1.d))) DESC InitPlan 1 (returns $0) -> Aggregate -> Hash Join Hash Cond: (public.rewrite_rule_hint_t1.b = public.rewrite_rule_hint_t2.b) -> Seq Scan on rewrite_rule_hint_t1 -> Hash -> Seq Scan on rewrite_rule_hint_t2 -> HashAggregate Group By Key: public.rewrite_rule_hint_t1.a Filter: (sum((public.rewrite_rule_hint_t1.c * public.rewrite_rule_hint_t1.d)) > $0) -> Hash Join Hash Cond: (public.rewrite_rule_hint_t1.b = public.rewrite_rule_hint_t2.b) -> Seq Scan on rewrite_rule_hint_t1 -> Hash -> Seq Scan on rewrite_rule_hint_t2 (17 rows)
- GROUPBY_PUSHDOWN_SUBQUERY
允许将groupby聚集函数下推到子查询。为使示例生效,需要先对示例表进行如下修改。
alter table rewrite_rule_hint_t1 add constraint pk_t1 primary key(a); alter table rewrite_rule_hint_t2 add constraint pk_t2 primary key(a); alter table rewrite_rule_hint_t3 add constraint pk_t3 primary key(a); alter table rewrite_rule_hint_t4 add constraint pk_t4 primary key(a); alter table rewrite_rule_hint_t2 modify b not null; alter table rewrite_rule_hint_t3 modify b not null; alter table rewrite_rule_hint_t4 modify b not null; alter table rewrite_rule_hint_t2 add constraint fk_t2 FOREIGN KEY (b) references rewrite_rule_hint_t1(a); alter table rewrite_rule_hint_t3 add constraint fk_t3 FOREIGN KEY (b) references rewrite_rule_hint_t2(a);
执行满足查询重写条件的查询语句。
gaussdb=# explain (costs off) select /*+ groupby_pushdown_subquery */ t1.b, t2.a, t3.b + t4.b, sum(t3.a+ t4.b) from rewrite_rule_hint_t1 t1, rewrite_rule_hint_t2 t2 , rewrite_rule_hint_t3 t3, rewrite_rule_hint_t4 t4 where t1.a = t2.b and t2.a = t3.b and t3.c = t4.b and t4 gaussdb-# .c > 2 group by t1.b, t3.a, t2.a, t3.b + t4.b order by 1, 2, 3, 4; QUERY PLAN ------------------------------------------------------------------- Sort Sort Key: t1.b, t2.a, ((t3.b + t4.b)), (sum((t3.a + t4.b))) -> Hash Join Hash Cond: (t3.b = t2.a) -> HashAggregate Group By Key: t3.a, (t3.b + t4.b), t3.b -> Hash Join Hash Cond: (t3.c = t4.b) -> Seq Scan on rewrite_rule_hint_t3 t3 -> Hash -> Seq Scan on rewrite_rule_hint_t4 t4 Filter: (c > 2) -> Hash -> Hash Join Hash Cond: (t2.b = t1.a) -> Seq Scan on rewrite_rule_hint_t2 t2 -> Hash -> Seq Scan on rewrite_rule_hint_t1 t1 (18 rows)
- NO_GROUPBY_PUSHDOWN_SUBQUERY
禁止将groupby聚集函数下推到子查询。该hint与GROUPBY_PUSHDOWN_SUBQUERY为一组互斥的规则控制hint。
gaussdb=# explain (costs off) select /*+ no_groupby_pushdown_subquery */ t1.b, t2.a, t3.b + t4.b, sum(t3.a+ t4.b) from rewrite_rule_hint_t1 t1, rewrite_rule_hint_t2 t2 , rewrite_rule_hint_t3 t3, rewrite_rule_hint_t4 t4 where t1.a = t2.b and t2.a = t3.b and t3.c = t4.b and t4 gaussdb-# .c > 2 group by t1.b, t3.a, t2.a, t3.b + t4.b order by 1, 2, 3, 4; QUERY PLAN ------------------------------------------------------------------------- Sort Sort Key: t1.b, t2.a, ((t3.b + t4.b)), (sum((t3.a + t4.b))) -> HashAggregate Group By Key: t1.b, t3.a, t2.a, (t3.b + t4.b) -> Hash Join Hash Cond: (t3.c = t4.b) -> Hash Join Hash Cond: (t2.b = t1.a) -> Hash Join Hash Cond: (t3.b = t2.a) -> Seq Scan on rewrite_rule_hint_t3 t3 -> Hash -> Seq Scan on rewrite_rule_hint_t2 t2 -> Hash -> Seq Scan on rewrite_rule_hint_t1 t1 -> Hash -> Seq Scan on rewrite_rule_hint_t4 t4 Filter: (c > 2) (18 rows)