检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
GaussDB(DWS)视图和关联表设计规则 视图设计 【建议】除非视图之间存在强依赖关系,否则不建议视图嵌套。 【建议】视图定义中尽量避免排序操作。 关联表设计 【建议】表之间的关联字段应该尽量少。 【建议】关联字段的数据类型应该保持一致。 【建议】关联字段在命名上,尽可能体现出明显的关联关系。例如,采用同样名称来命名。
GaussDB(DWS)函数和存储过程有什么区别? 函数和存储过程是数据库管理系统中常见的两种对象,它们在实现特定功能时具有相同点,也有不同点。了解它们的特点和适用场景,对于合理设计数据库结构和提高数据库性能具有重要意义。 表1 函数和存储过程的区别 函数 存储过程 两者都可以用于实现特定的功能。无
GaussDB(DWS)的OBS外表与GDS外表支持的数据格式有什么区别? OBS与GDS外表支持格式文件区别如下: OBS导入支持ORC、TEXT、JSON、CSV、CARBONDATA、PARQUET文件格式,导出支持ORC、CSV、TEXT文件格式,缺省值为TEXT。 GD
系统信息函数 会话信息函数 访问权限查询函数 模式可见性查询函数 系统表信息函数 系统函数信息函数 注释信息函数 事务ID和快照 计算子集群函数 锁信息函数 父主题: 函数和操作符
比较操作符可用于所有相关的数据类型,并返回布尔类型数值。 所有比较操作符都是双目操作符,被比较的两个数据类型必须是相同的数据类型或者是可以进行隐式转换的类型。例如1<2<3这样的表达式为非法的,因为布尔值和3之间不能做比较。 GaussDB(DWS)提供的比较操作符请参见表1。 表1
描述:查看登录用户的登录信息。与login_audit_messages的区别在于结果基于当前backendid向前查找。所以不会因为同一用户的后续登录,而影响本次登录的查询结果。也就是查询不到该用户后续登录的信息。 返回值类型:元组 示例: 查看上一次登录认证通过的日期、时间和IP等信息:
描述:针对字符类型数据,对照指定的输入输出格式,将第mask_from到mask_to位的数字部分脱敏成mask_char指定的字符。 参数说明: input_format 输入格式是由V和F组成的字符序列,与脱敏列数据长度相同。V对应位置的字符可能会被脱敏,F对象位置的字符会被忽略跳过,V
no表示hint的join方式不使用。 block_name表示语句块的block_name,详细说明请参考block_name。 table_list为表示hint表集合的字符串,该字符串中的表与join_table_list相同,只是中间不允许出现括号指定join的优先级。 例如:
columns指定group by子句中的一个或者多个列,没有group by子句也可以指定distinct子句中的列。 指定的分布列,需要用group by或distinct中的列序号或列名来表示,count(distinct)中的列只能通过列名指定。 对于多层的查询,可以在每层指定对应层的分布列hint,只在当前层生效。
[index]) 参数说明 no表示hint的scan方式不使用。 block_name表示语句块的block_name,详细说明请参考block_name。 table表示hint指定的表,只能指定一个表,如果表存在别名应优先使用别名进行hint。 表的语法格式如下: [schema.]table[@block_name]
bal表示hint设置的配置参数在子查询级别生效,即仅在hint所在的子查询中生效,在该语句的其它子查询中不生效。 block_name表示语句块的block_name,详细说明请参考block_name。 guc_name表示hint指定的配置参数的名称。 guc_value表示hint指定的配置参数的值。
字典编码的hint 功能描述 通过设置指定列来构建字典编码,将字典编码的字符串的比较转化为数字的比较,加快group by、filter等查询速度。该hint仅8.3.0及以上集群版本支持。 注意事项 目前只支持新版的hstore表(表级参数为enable_hstore_opt为on)。
list中指定的表需要满足以下要求,否则会报语义错误。 list中的表必须在当前层或提升的子查询中存在。 list中的表在当前层或提升的子查询中必须是唯一的。如果不唯一,需要使用不同的别名进行区分。 同一个表只能在list里出现一次。 如果表存在别名,则list中的表需要使用别名。
by子句也可以指定distinct子句中的列。 指定的分布列,需要用group by或distinct中的列序号来表示,不可以指定列名。 对于多层的查询,可以在每层指定对应层的分布列hint,只在当前层生效。 指定了分布列,如果优化器估算后发现不需要重分布,则指定的分布列无效。 建议 通常优化
效,即仅在hint所在的子查询中生效,在该语句的其它子查询中不生效。 guc_name表示hint指定的配置参数的名称。 guc_value表示hint指定的配置参数的值。 如果hint设置的配置参数在语句级别生效,则该hint必须写在顶层查询中,而不能写在子查询中。对于UNIO
都会构造新的子查询,此时会对新构造的子查询也应用上面分配block_name的递归处理,block_name的编号计数在之前的基础上进行累加。 优化器重写阶段,发生子查询提升时,内层子查询中的表被提升到外层查询中,内层子查询被消除。此时,被提升的表可能会和外层查询中的表同名,所以
Join方式的Hint 功能描述 指明Join使用的方法,可以为Nested Loop,Hash Join和Merge Join。 语法格式 1 [no] nestloop|hashjoin|mergejoin(table_list) 参数说明 no表示hint的join方式不使用。
no表示hint的scan方式不使用。 table表示hint指定的表,只能指定一个表,如果表存在别名应优先使用别名进行hint。 index表示使用indexscan或indexonlyscan的hint时,指定的索引名称,当前只能指定一个。 对于indexscan或indexonlysc
使用GaussDB(DWS) 的ODBC驱动,SQL查询结果中字符类型的字段内容会被截断 问题现象 使用GaussDB(DWS)的ODBC驱动,SQL查询结果中字符类型的字段内容会被截断,需通过SQL语法CAST BYTEA转成二进制才能完整取出字段信息。但是,同样的程序连接ORACLE、SQL
逻辑操作符 常用的逻辑操作符有AND、OR和NOT,其运算结果有三个值,分别为TRUE、FALSE和NULL,其中NULL代表未知。运算优先级顺序为:NOT>AND>OR。 运算规则请参见表1,表中的a和b代表逻辑表达式。 表1 运算规则表 a b a AND b的结果 a OR b的结果