检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
减少扫描的I/O代价。 选择存储方案 【建议】表的存储类型是表定义设计的第一步,客户业务类型是决定表的存储类型的主要因素,表存储类型的选择依据请参考表1。 表1 表的存储类型及场景 存储类型 适用场景 行存 点查询(返回记录少,基于索引的简单查询)。 增、删、改操作较多的场景。 选择分区方案
数据类型转换 数据库中允许有些数据类型进行隐式类型转换(赋值、函数调用的参数等),有些数据类型间不允许进行隐式数据类型转换,可尝试使用GaussDB提供的类型转换函数,例如CAST进行数据类型强转。 GaussDB数据库常见的隐式类型转换,请参见表1。 GaussDB支持的DAT
数据类型转换 数据库中有些数据类型间允许进行隐式类型转换(例如赋值、函数调用的参数等)、有些数据类型间不允许进行隐式数据类型转换(例如int和复合类型),可尝试使用GaussDB提供的类型转换函数,例如CAST进行数据类型强转。 GaussDB数据库常见的隐式类型转换,请参见表1。
访问特殊数据类型 ecpg支持numeric、decimal、date、timestamp和interval数据类型。由于这些数据类型的内部结构较为复杂,无法被映射到初级数据类型的宿主变量,因此应用程序通过声明特殊类型的宿主变量以及使用pgtypes库中的函数处理这些特殊类型。pgt
因为查询中没有声明任何类型,所以本例中对类型没有任何初始提示。因此,分析器查找所有候选操作符,发现既存在接受字符串类型范畴的操作符也存在接受位串类型范畴的操作符。因为字符串类型范畴是首选,所以选择字符串类型范畴的首选类型text作为解析未知类型文本的声明类型。 示例3:绝对值和取
因为查询中没有声明任何类型,所以本例中对类型没有任何初始提示。因此,分析器查找所有候选操作符,发现既存在接受字符串类型范畴的操作符也存在接受位串类型范畴的操作符。因为字符串类型范畴是首选,所以选择字符串类型范畴的首选类型text作为解析未知类型文本的声明类型。 示例3:绝对值和取
组两个unkown类型解析成text类型,然后继续与其他组进行类型匹配选择。) 如果输入不属于同一个类型范畴,则失败。(unknown类型除外) 如果输入类型是同一个类型范畴,则选择该类型范畴的首选类型。(例外:Union操作会选择第一个分支的类型作为所选类型。) 系统表pg_t
数据库实例类型 GaussDB的实例类型如表1所示。 表1 实例类型 实例类型 支持的部署形态 是否支持实例扩容 适用场景 包含的组件 业务处理流程 分布式版 独立部署:将数据库组件部署在不同节点上。适用于可靠性、稳定性要求较高,实例规模较大的场景。 混合部署:将数据库多个组件部署在同一个节点上。仅基础版可选。
数据库实例存储类型 数据库系统通常是IT系统最为重要的系统,对存储IO性能要求高,GaussDB支持“超高IO”和“极速型SSD”存储类型。 超高IO:超高性能云硬盘,可用于企业关键性业务,适合高吞吐、低时延的工作负载。具体请参见《云硬盘产品介绍》中“磁盘类型及性能介绍”中“超高IO”的内容。
结果数据类型。 UNION,CASE和相关构造解析 如果所有输入都是相同的类型,并且不是unknown类型,那么解析成这种类型。 如果所有输入都是unknown类型则解析成text类型(字符串类型范畴的首选类型)。否则,忽略unknown输入。 如果输入不属于同一个类型范畴,失败。(unknown类型除外)
结果数据类型。 UNION,CASE和相关构造解析 如果所有输入都是相同的类型,并且不是unknown类型,那么解析成这种类型。 如果所有输入都是unknown类型则解析成text类型(字符串类型范畴的首选类型)。否则,忽略unknown输入。 如果输入不属于同一个类型范畴,失败。(unknown类型除外)
csvlog的日志消息并写入日志文件。 这种记录日志的方法比将日志记录到syslog更加有效,因为某些类型的消息在syslog的输出中无法显示。例如动态链接库加载失败消息和脚本产生的错误消息。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 将服务器日
r或csvlog的日志消息并写入日志文件。 这种记录日志的方法比将日志记录到syslog更加有效,因为某些类型的消息在syslog的输出中无法显示。例如动态链接库加载失败消息和脚本产生的错误消息。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 将服务
志消息并写入日志文件。 这种记录日志的方法比将日志记录到syslog更加有效,因为某些类型的消息在syslog的输出中无法显示。例如动态链接库加载失败消息和脚本(例如archive_command)产生的错误消息。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
志消息并写入日志文件。 这种记录日志的方法比将日志记录到syslog更加有效,因为某些类型的消息在syslog的输出中无法显示。例如动态链接库加载失败消息和脚本(例如archive_command)产生的错误消息。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
GaussDB仅INT类型支持range约束。Oracle仅PLS_INTEGER、BINARY_INTEGER及其预定义子类型支持RANGE约束。 GaussDB中在定义变量时,不支持指定range约束。 GaussDB中,subtype基类型为字符数据类型时,不支持指定字符集信息。
数据类型映射关系 数据类型、JAVA变量类型以及JDBC类型索引关系如下(A:Oracle兼容,B:MY兼容,M:M-Compatibility)。 表1 JDBC数据类型映射关系 兼容模式 Gauss Kernel数据类型 JAVA变量类型 JDBC类型索引 A/B oid java
数据类型映射关系 数据类型、JAVA变量类型以及JDBC类型索引关系如下(A:Oracle兼容,B:MY兼容)。 表1 JDBC数据类型映射关系 兼容模式 Gauss Kernel数据类型 JAVA变量类型 JDBC类型索引 A/B oid java.lang.Long java
数据类型兼容性 表1 其他PL/SQL数据类型 序号 Oracle数据库 GaussDB数据库 差异 1 CHARACTER 支持,有差异 GaussDB中字节长度限制为:1~10485760。 Oracle中字节长度限制为:1~32767。 2 VARCHAR 支持,有差异 G
数据库对象函数 数据库对象尺寸函数 数据库对象尺寸函数计算数据库对象使用的实际磁盘空间。 pg_column_size(any) 描述:存储一个指定的数值需要的字节数(可能压缩过)。 返回值类型:int 备注:pg_column_size显示用于存储某个独立数据值的空间。 1 2