-
GAUSS-04221 -- GAUSS-04230 - 数据仓库服务 GaussDB(DWS)
GAUSS-04223: "terminating connection due to conflict with recovery" SQLSTATE: 40001 错误原因:数据库服务端正在进行数据恢复,当前请求与其冲突,无法连接。 解决办法:请稍后重连数据库,并重新执行命令。 GAUSS-04224:
-
DWS - 数据仓库服务 GaussDB(DWS)
可能原因 业务执行过程中正常的数据下盘超过告警阈值。 业务SQL的查询执行计划欠佳,大量数据导入内存触发下盘。 未及时清理过期数据,导致扫描到过多无效数据而触发下盘。 处理步骤 确认执行计划是否欠佳。 从告警的附加信息中获取SQL语句,对相关表执行ANALYZE后再次执行SQL,查看下盘量是否降低。
-
SQL语句出错自动重试 - 数据仓库服务 GaussDB(DWS)
存储过程语句约束: 包含EXCEPTION的存储过程,如果在执行过程中(包含语句块执行和EXCEPTION中的语句执行)错误被抛出,可以retry,且系统内部错误发生时,retry会先于EXCEPTION被执行,而如果报错被EXCEPTION捕获则不能retry。 不支持使用全局变量的package。
-
审视和修改表定义 - 数据仓库服务 GaussDB(DWS)
审视和修改表定义 在分布式框架下,数据分布在各个DN上。一个或者几个DN的数据存在一块物理存储设备上,好的表定义至少需要达到以下几个目标: 表数据均匀分布在各个DN上,以防止单个DN对应的存储设备空间不足造成集群有效容量下降。选择合适分布列,避免数据分布倾斜可以实现该点。 表Scan压
-
执行查询与结果收集 - 数据仓库服务 GaussDB(DWS)
执行查询与结果收集 通过编写shell脚本自动化执行查询和结果收集 父主题: 测试方法
-
视图查询时执行失败 - 数据仓库服务 GaussDB(DWS)
视图查询时执行失败 问题现象 在连接集群数据库之后,使用某个视图执行查询,可能会操作失败,提示错误信息如下: [GAUSS-01850] : object with oid 16420 is not a partition object 原因分析 此视图是建立分区表的某个分区上的
-
执行动态查询语句 - 数据仓库服务 GaussDB(DWS)
执行动态查询语句 介绍执行动态查询语句。GaussDB(DWS)提供两种方式:使用EXECUTE IMMEDIATE、OPEN FOR实现动态查询。前者通过动态执行SELECT语句,后者结合了游标的使用。当需要将查询的结果保存在一个数据集用于提取时,可使用OPEN FOR实现动态查询。
-
执行动态查询语句 - 数据仓库服务 GaussDB(DWS)
执行动态查询语句 介绍执行动态查询语句。GaussDB(DWS)提供两种方式:使用EXECUTE IMMEDIATE、OPEN FOR实现动态查询。前者通过动态执行SELECT语句,后者结合了游标的使用。当需要将查询的结果保存在一个数据集用于提取时,可使用OPEN FOR实现动态查询。
-
执行数据导入 - 数据仓库服务 GaussDB(DWS)
执行数据导入 直接查询外表查看MRS数据源的数据 如果数据量较少,可直接使用SELECT查询外表,即可查看到MRS数据源的数据。 执行以下命令,则可以从外表查询数据: 1 SELECT * FROM foreign_product_info; 查询结果显示如数据文件中所示的数据
-
分析查询效率异常降低的问题 - 数据仓库服务 GaussDB(DWS)
查询效率低的一个重要原因是查询所需信息没有缓存在内存中,这可能是由于内存资源紧张,缓存信息被其他查询处理覆盖。 重复执行相同的查询语句,如果后续执行的查询语句效率提升,则可能是由于上述原因导致。 父主题: SQL执行troubleshooting
-
java.sql.ResultSet - 数据仓库服务 GaussDB(DWS)
java.sql.ResultSet java.sql.ResultSet是执行结果集接口。 表1 对java.sql.ResultSet的支持情况 方法名 返回值类型 支持JDBC 4 findColumn(String columnLabel) int Yes getBigDecimal(int
-
java.sql.ResultSet - 数据仓库服务 GaussDB(DWS)
java.sql.ResultSet java.sql.ResultSet是执行结果集接口。 表1 对java.sql.ResultSet的支持情况 方法名 返回值类型 支持JDBC 4 findColumn(String columnLabel) int Yes getBigDecimal(int
-
管理SQL查询执行历史 - 数据仓库服务 GaussDB(DWS)
管理SQL查询执行历史 可在Data Studio中查看和管理频繁执行的SQL查询。SQL查询执行历史只保存在“SQL终端”页签中。 在“SQL终端”页签中单击“历史执行SQL”按钮,显示“历史执行SQL”对话框。 SQL历史脚本未加密。 “历史执行SQL”对话框显示的查询数取决于“首选项
-
算子级调优 - 数据仓库服务 GaussDB(DWS)
一个查询语句要经过多个算子步骤才会输出最终的结果。由于个别算子耗时过长导致整体查询性能下降的情况比较常见。这些算子是整个查询的瓶颈算子。通用的优化手段是EXPLAIN ANALYZE/PERFORMANCE命令查看执行过程的瓶颈算子,然后进行针对性优化。 如下面的执行过程信息中,Ha
-
DROP DATABASE - 数据仓库服务 GaussDB(DWS)
过视图v$session查看。 不能在事务块中执行DROP DATABASE命令。 如果执行DROP DATABASE失败,事务回滚,需要再次执行一次DROP DATABASE IF EXISTS。 DROP DATABASE一旦执行将无法撤销,请谨慎使用。 DROP DATABASE若提示database
-
DROP DATABASE - 数据仓库服务 GaussDB(DWS)
过视图v$session查看。 不能在事务块中执行DROP DATABASE命令。 如果执行DROP DATABASE失败,事务回滚,需要再次执行一次DROP DATABASE IF EXISTS。 DROP DATABASE一旦执行将无法撤销,请谨慎使用。 DROP DATABASE若提示database
-
执行CREATE SCHEMA语句时,报错SCHEMA已存在 - 数据仓库服务 GaussDB(DWS)
执行CREATE SCHEMA语句时,报错SCHEMA已存在 问题现象 执行CREATE SCHEMA语句时,报错要创建的schema已存在。 1 ERROR: schema "schema" already exists 原因分析 在SQL语句中,字段名称是区分大小写的,默认为小写字段名。
-
如何判断表是否执行过UPDATE或DELETE - 数据仓库服务 GaussDB(DWS)
FULL操作,这种场景下需要查找出哪些表执行过UPDATE; 判断一张表是否是维度表,是否可以从Hash表变更为复制表,可以查看这张表是否执行过UPDATE或DELETE,如果执行过UPDATE或DELETE操作,则不能修改为复制表。 处理方法 通过以下命令查找哪些表执行过UPDATE及DELETE操作:
-
执行动态非查询语句 - 数据仓库服务 GaussDB(DWS)
时使用,即动态SQL语句执行时,bind_argument将替换相对应的占位符。要注意的是,bind_argument只能是值、变量或表达式,不能是表名、列名、数据类型等数据库对象。如果存储过程需要通过声明参数传递数据库对象来构造动态SQL语句(常见于执行DDL语句时),建议采用
-
GOTO语句 - 数据仓库服务 GaussDB(DWS)
GOTO语句 GOTO语句可以实现从GOTO位置到目标语句的无条件跳转。GOTO语句会改变原本的执行逻辑,因此应该慎重使用,或者也可以使用EXCEPTION处理特殊场景。当执行GOTO语句时,目标Label必须是唯一的。 语法 label declaration ::= goto