技术专区
-
GaussDB(DWS)运维 — values子句做MERGE数据源导致SQL执行不下推的改写方案
现网做实时接入的时候,有的时候会使用MERGE INTO语句实现类似UPSERT的功能。这种场景下MERGE INTO语句的USING部分的数据位VALUES子句,为了后续的SQL…
-
GaussDB(DWS)运维 — 常见问题分析 — 更新报错ERROR:Non-deterministic UPDATE
【问题根因】 一条SQL语句中同一个元组被多次更新,详细以下面case为例说明 postgres=# CREATE TABLE public.t1(a int, b int) WI…
-
GaussDB(DWS)迁移 – teredata兼容 – 函数 – pivot/unpivot改写
【概要】 pivot/unpivot是teredata中用来做行列转换的操作,常用于报表展示场景。GaussDB(DWS)当前并不支持 pivot/unpivot 操作,本文尝试…
-
GaussDB(DWS)迁移-upsert支持
GaussDB(DWS)从8.1.1版本开始支持UPSERT功能,8.1.1版本之前建议使用如下的UDF实现UPSERT — upStr为拼接的update语句 — inStr…
-
GaussDB(DWS)迁移 – oracle兼容 — dayof
CREATE OR REPLACE FUNCTION public.dayof(pg_catalog.date) RETURNS integer LANGUAGE sql STAB…
-
GaussDB(DWS)迁移 – oracle兼容 — weekof
CREATE OR REPLACE FUNCTION public.weekof(pg_catalog.timestamptz) RETURNS integer LANGUAGE …
-
GaussDB(DWS)分布式计算的倾斜优化
数据倾斜问题是分布式架构的重要难题,它破坏了MPP架构中各个节点对等的要求,导致单节点(倾斜节点)所存储或者计算的数据量远大于其他节点,造成以下危害: 存储上的倾斜会严重限制系统容…
-
GaussDB(DWS)运维 — SQL操作 — 查找冗余索引
【简介】 索引是常见的查询性能优化手段,但索引本身也需要占用一定的磁盘空间,同时也会降低数据入库的性能。通过学习和了解GaussDB(DWS)的btree索引和cbtree的机制,…
-
GaussDB(DWS)常见操作的锁冲突矩阵
GaussDB(DWS)中表级锁的持锁单位是事物,语句触发持锁动作之后,会一直持有锁,一直到触发锁的语句所在的事物提交 GaussDB(DWS)中执行语句的方式默认是autocom…
-
GaussDB(DWS)运维 — 一键式锁等待和分布式死锁检测
锁是GaussDB(DWS)实现并发管理的关键要素,GaussDB(DWS)锁类别有表级锁、分区级锁(和表级锁一致)、事务锁、咨询锁等,当前业务最常用的是表级锁、分区级锁(和表级锁…