检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
DATABASE对象设计规范 规则2.1 避免直接使用内置的DATABASE(如postgres、gaussdb等) 违反规则的影响: 内置的数据库编码、兼容模式不符合业务要求时,需要重新迁移数据。 所有业务均使用内置数据库,影响变更耗时。 方案建议: 根据实际业务需要,合理创建专用
自动清理 系统自动清理进程自动执行VACUUM和ANALYZE命令,回收被标识为删除状态的记录空间,并更新表的统计数据。 autovacuum_compaction_rows_limit 参数说明:小CU的阈值,存活元组数小于这个值的就会被认为是小CU。该参数仅8.2.1.300及以上集群版本支持
SQL查询执行流程 SQL引擎从接收SQL语句到执行SQL语句需要经历的步骤如图1和表1所示。其中,红色字体部分为DBA可以介入实施调优的环节。 图1 SQL引擎执行查询类SQL语句的流程 表1 SQL引擎执行查询类SQL语句的步骤说明 步骤 说明 1、语法&词法解析 按照约定的SQL
SQL查询执行流程 SQL引擎从接收SQL语句到执行SQL语句需要经历的步骤如图1和表1所示。其中,红色字体部分为DBA可以介入实施调优的环节。 图1 SQL引擎执行查询类SQL语句的流程 表1 SQL引擎执行查询类SQL语句的步骤说明 步骤 说明 1、语法&词法解析 按照约定的SQL
系统信息函数 会话信息函数 访问权限查询函数 模式可见性查询函数 系统表信息函数 系统函数信息函数 注释信息函数 事务ID和快照 计算子集群函数 锁信息函数 父主题: 函数和操作符
PG_STAT_USER_TABLES PG_STAT_USER_TABLES视图显示所有命名空间中用户自定义普通表和TOAST表的状态信息。 表1 PG_STAT_USER_TABLES字段 名称 类型 描述 relid oid 表的OID。 schemaname name 表的模式名
PG_STAT_USER_TABLES PG_STAT_USER_TABLES视图显示所有命名空间中用户自定义普通表和TOAST表的状态信息。 表1 PG_STAT_USER_TABLES字段 名称 类型 描述 relid oid 表的OID。 schemaname name 表的模式名
系统信息函数 会话信息函数 访问权限查询函数 模式可见性查询函数 系统表信息函数 系统函数信息函数 注释信息函数 事务ID和快照 计算子集群函数 锁信息函数 父主题: 函数和操作符
PG_STAT_ALL_TABLES PG_STAT_ALL_TABLES视图显示当前数据库中与表访问相关的统计信息(包括TOAST表)。 表1 PG_STAT_ALL_TABLES字段 名称 类型 描述 relid oid 表的OID。 schemaname name 此表的模式名
PG_STAT_ALL_TABLES PG_STAT_ALL_TABLES视图显示当前数据库中与表访问相关的统计信息(包括TOAST表)。 表1 PG_STAT_ALL_TABLES字段 名称 类型 描述 relid oid 表的OID。 schemaname name 此表的模式名
基本概念 GaussDB(DWS)的管理概念 集群 表示由多个节点组成的服务器群组。GaussDB(DWS)以集群为单位进行组织,一个GaussDB(DWS)集群由多个在相同子网中的相同规格的节点组成,共同提供服务。 节点 每个GaussDB(DWS)集群部署节点取值范围为3~256
更新统计信息 在数据库中,统计信息是规划器生成计划的源数据。没有收集统计信息或者统计信息陈旧会造成执行计划严重劣化,从而导致性能问题。 背景信息 ANALYZE语句可收集与数据库中表内容相关的统计信息,统计结果存储在系统表PG_STATISTIC中。查询优化器会使用这些统计数据,以生成最有效的执行计划
更新统计信息 在数据库中,统计信息是规划器生成计划的源数据。没有收集统计信息或者统计信息陈旧会造成执行计划严重劣化,从而导致性能问题。 背景信息 ANALYZE语句可收集与数据库中表内容相关的统计信息,统计结果存储在系统表PG_STATISTIC中。查询优化器会使用这些统计数据,以生成最有效的执行计划
条件表达式 在执行SQL语句时,可通过条件表达式筛选出符合条件的数据。 条件表达式主要有以下几种: CASE CASE表达式是条件表达式,类似于其他编程语言中的CASE语句。 CASE表达式的语法图请参考图1。 图1 case::= CASE子句可以用于合法的表达式中。condition
子查询表达式 子查询表达式主要有以下几种: EXISTS/NOT EXISTS EXISTS/NOT EXISTS的语法图请参见图1。 图1 EXISTS/NOT EXISTS::= EXISTS的参数是一个任意的SELECT语句,或者说子查询。系统对子查询进行运算以判断它是否返回行
条件表达式 在执行SQL语句时,可通过条件表达式筛选出符合条件的数据。 条件表达式主要有以下几种: CASE CASE表达式是条件表达式,类似于其他编程语言中的CASE语句。 CASE表达式的语法图请参考图1。 图1 case::= CASE子句可以用于合法的表达式中。condition
子查询表达式 子查询表达式主要有以下几种: EXISTS/NOT EXISTS EXISTS/NOT EXISTS的语法图请参见图1。 图1 EXISTS/NOT EXISTS::= EXISTS的参数是一个任意的SELECT语句或者子查询。系统对子查询进行运算以判断它是否返回行。
GAUSS-01361 -- GAUSS-01370 GAUSS-01361: "text search template '%s' already exists" SQLSTATE: 42710 错误原因:ALTER TEXT SEARCH TEMPLATE name RENAME
PGXC_GET_TABLE_SKEWNESS PGXC_GET_TABLE_SKEWNESS视图展示当前库中表的数据分布倾斜情况。需要有系统管理员权限或预置角色gs_role_read_all_stats权限才可以访问此视图。 表1 PGXC_GET_TABLE_SKEWNESS
SQL语句改写规则 根据数据库的SQL执行机制以及大量的实践,总结发现:通过一定的规则调整SQL语句,在保证结果正确的基础上,能够提高SQL执行效率。如果遵守下列规则,能够大幅度提升业务查询效率。 使用union all代替union union在合并两个集合时会执行去重操作,而union