检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
SQL调优指南 SQL调优的唯一目的是“资源利用最大化”,即CPU、内存、磁盘I/O三种资源利用最大化。所有调优手段都是围绕资源使用开展的。资源利用最大化是指SQL语句尽量高效,节省资源开销,以最小的代价实现最大的效益。比如做典型点查询的时候,可以用seqscan+filter(
数据类型是数据的一个基本属性,用于区分不同类型的数据。不同的数据类型所占的存储空间不同,能够进行的操作也不相同。数据库中的数据存储在数据表中。数据表中的每一列都定义了数据类型,用户存储数据时,须遵从这些数据类型的属性,否则可能会出错。 GaussDB支持某些数据类型间的隐式转换,具体转换关系请参见PG_CAST。 数值类型
异步命令处理 PQexec函数对普通的同步应用里提交命令已经足够使用。但是它却有几个缺陷,而这些缺陷可能对某些用户很重要。 PQexec等待命令结束,而应用可能还有其它的工作要做(比如维护用户界面等),此时并不希望PQexec阻塞应用。 因为客户端应用在等待结果的时候是处于挂起状态的,所以应
开发流程 图1 采用Psycopg2开发应用程序的流程 父主题: 基于Psycopg开发
开发流程 图1 ecpg整体开发流程 图2 嵌入式SQL-C程序开发流程 父主题: 基于ecpg开发
执行动态SQL语句 在大多数情况下,应用程序执行的SQL语句在编写应用程序时必须是已知的。但是在某些情况下,SQL语句是在运行时进行构造或由外部源提供的。这种情况下不能将SQL语句直接嵌入到C语言源代码中,但是动态SQL语句支持通过一个字符串变量调用所提供的SQL语句。 执行没有结果集的语句
错误处理 有两种非互斥的方法可以处理嵌入式SQL程序的异常情况和告警: 使用WHENEVER命令设置回调,处理告警和错误条件。 通过sqlca获取错误或者告警的详细信息,进行相应处理。 设置回调 sqlca SQLSTATE与SQLCODE 父主题: 基于ecpg开发
Go接口参考 sql.Open接口 type DB type Stmt type Tx type Rows type Row type ColumnType type Result 父主题: 基于Go驱动开发
动态SQL 表1 动态SQL语句执行方式 序号 Oracle数据库 GaussDB数据库 差异 1 EXECUTE IMMEDIATE 支持,有差异 GaussDB通过dynamic_sql_compat参数控制同名变量是否读取同一参数,并且检查调用存储过程时绑定参数出入参类型是否与语句参数类型一致。
强制转换函数 表1 强制转换函数列表 MySQL数据库 GaussDB数据库 差异 CAST() 支持,存在差异 数据类型转换规则和支持的转换类型均以GaussDB支持的转换范围和规则为准。 CONVERT() 支持,存在差异 数据类型转换规则和支持的转换类型均以GaussDB支持的转换范围和规则为准。
系统视图 分区表 负载管理 OLTP表压缩 通信 段页式存储 SPM计划管理 审计 用户和权限管理 动态脱敏 透明加密 DATABASE LINK 物化视图 多租数据库 其他系统视图 父主题: 系统表和系统视图
负载管理 GS_WLM_CGROUP_INFO GS_WLM_PLAN_OPERATOR_HISTORY GS_WLM_REBUILD_USER_RESOURCE_POOL GS_WLM_USER_INFO 父主题: 系统视图
SQL语法 SQL语法格式说明 ABORT ALTER AGGREGATE ALTER AUDIT POLICY ALTER COLUMN ENCRYPTION KEY ALTER EVENT ALTER DATABASE ALTER DATABASE LINK ALTER DEFAULT
SQL语法格式说明 表1 SQL语法格式说明 格式 意义 [ ] 表示用“[ ]”括起来的部分是可选的。 ... 表示前面的元素可重复出现。 [ x | y | ... ] 表示从两个或多个选项中选取一个或者不选。 { x | y | ... } 表示从两个或多个选项中选取一个。
表设计最佳实践 使用分区表 选择数据类型 父主题: 最佳实践
ecpg接口参考 ecpg接口参考主要介绍pgtypes库提供的用户在嵌入式SQL-C源码程序中可使用的数据类型相关接口。pgtypes库将SQL数据类型映射到C语言数据类型,并提供一些接口实现其基本功能和运算。 区间类型 数值类型 日期类型 时间戳类型 父主题: 基于ecpg开发
SQL调优指南 SQL调优的唯一目的是“资源利用最大化”,即CPU、内存、磁盘IO三种资源利用最大化。所有调优手段都是围绕资源使用开展的。所谓资源利用最大化是指SQL语句尽量高效,节省资源开销,以最小的代价实现最大的效益。比如做典型点查询的时候,可以用seqscan+filter
实际调优案例 案例:调整查询重写GUC参数rewrite_rule 案例:建立合适的索引 案例:增加JOIN列非空条件 案例:改建分区表 案例:改写SQL消除子查询 案例:改写SQL消除in-clause 父主题: SQL调优指南
SQL参考 SQL 关键字 数据类型 常量与宏 函数和操作符 表达式 伪列 类型转换 系统操作 事务控制 DDL语法一览表 DML语法一览表 DCL语法一览表 SQL语法 附录
有参数,也可以没有参数。函数是有返回类型的,执行完成后,会返回执行结果。 对于系统函数,用户可以进行修改,但是修改之后系统函数的语义可能会发生改变,从而导致系统控制紊乱。正常情况下不允许用户手工修改系统函数。 当GUC参数behavior_compat_options含有'ena