检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
表数据膨胀导致SQL查询慢,用户前台页面数据加载不出 问题现象 数据库中原先执行几秒钟的SQL语句,现在执行二十几秒未出结果,导致前台页面数据加载超时,无法对用户提供图表显示。 原因分析 大量表频繁增删改,未及时清理,导致脏数据过多、表数据膨胀、查询慢。 内存参数设置不合理。 分析过程
调优手段之底层存储 GaussDB(DWS)的表支持行存表、列存表,底层存储方式的选择严格依赖于客户的具体业务场景。一般来说计算型业务查询场景(以关联、聚合操作为主)建议使用列存表;点查询、大批量UPDATE/DELETE业务场景适合行存表。 对于每种存储方式还有对应的存储层优化手段,这部分会在后续的调优章节深入介绍。
调优手段之底层存储 GaussDB(DWS)的表支持行存表、列存表,底层存储方式的选择严格依赖于客户的具体业务场景。一般来说计算型业务查询场景(以关联、聚合操作为主)建议使用列存表;点查询、大批量UPDATE/DELETE业务场景适合行存表。 对于每种存储方式还有对应的存储层优化手段,这部分会在后续的调优章节深入介绍。
列存可以提升查询性能。对于Hash分布表,在读/写数据时可以利用各个节点的IO资源,提升表的读/写速度。 重写查询和配置工作负载管理 (WLM) 通常可进一步提升查询性能。有关更多信息,请参阅优化查询性能概述。 基于调优表实践的具体步骤,您可以进一步应用“基于表结构设计和调优提
查询重分布详情 功能介绍 该接口用于查看当前集群的重分布模式、重分布进度、数据表重分布详情等监控信息。 查看重分布详情功能仅DWS 2.0和8.1.1.200及以上集群版本支持,其中数据表重分布进度详情仅DWS 2.0和8.2.1及以上集群版本支持。 调用方法 请参见如何调用API。
或-1表示不控制)进行修改,可选择打开短查询加速。 并发管理规则如下: 短查询加速开启,复杂查询受资源池并发控制,简单查询受短查询并发控制。 短查询加速关闭,复杂查询和简单查询均受资源池并发控制,短查询并发控制无效。 内存管理 内存资源,即资源池所占用的内存百分比。 内存管理的目的:防止数据库系统占用内
分析出问题的场景:基表是一张十亿级别的表,每晚有批量增量数据入库,同时会有少量的数据清洗的工作。白天会有高并发的查询操作,查询不涉及表关联,并且返回结果都不大。 处理方法 调整表定义,将表修改为行存表,同时建立btree索引,索引建立的原则: 在经常需要搜索查询的列上创建索引,可以加快搜索的速度。
执行动态查询语句 介绍执行动态查询语句。GaussDB(DWS)提供两种方式:使用EXECUTE IMMEDIATE、OPEN FOR实现动态查询。前者通过动态执行SELECT语句,后者结合了游标的使用。当需要将查询的结果保存在一个数据集用于提取时,可使用OPEN FOR实现动态查询。
获取集群可绑定的ELB列表 功能介绍 该接口用于查询集群可以关联的ELB列表。 调用方法 请参见如何调用API。 URI GET /v2/{project_id}/clusters/{cluster_id}/elbs 表1 路径参数 参数 是否必选 参数类型 描述 project_id
步骤3:调优表操作具体步骤 选择存储方式 此实践中所使用的样例表为典型的TPC-DS表,是典型的多字段表,统计分析类查询场景多,因此选择列存存储方式。 1 WITH (ORIENTATION = column) 选择压缩级别 在步骤1:创建初始表并加装样例数据中没有指定压缩比,
执行动态查询语句 介绍执行动态查询语句。GaussDB(DWS)提供两种方式:使用EXECUTE IMMEDIATE、OPEN FOR实现动态查询。前者通过动态执行SELECT语句,后者结合了游标的使用。当需要将查询的结果保存在一个数据集用于提取时,可使用OPEN FOR实现动态查询。
IN::= 右边是一个圆括弧括起来的子查询,它必须只返回一个字段。左边表达式对子查询结果的每一行进行一次计算和比较。如果找到任何相等的子查询行,则IN结果为"真"。如果没有找到任何相等行,则结果为"假"(包括子查询没有返回任何行的情况)。 表达式或子查询行里的NULL遵照SQL处理布尔
执行查询与结果收集 通过编写shell脚本自动化执行查询和结果收集 父主题: 测试方法
基因查询优化器 介绍基因查询优化器相关的参数。基因查询优化器(GEQO)是一种启发式的查询规划算法。这个算法减少了对复杂查询规划的时间,而且生成规划的开销有时也小于正常的详尽的查询算法。 geqo 参数说明:控制基因查询优化的使用。 参数类型:USERSET 取值范围:布尔型 on表示使用。
else { fmt.Println(err) } } 更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。 状态码 状态码 描述 200 容灾名称检查成功。 400 请求错误 401 鉴权失败。 403
视图查询时执行失败 问题现象 在连接集群数据库之后,使用某个视图执行查询,可能会操作失败,提示错误信息如下: [GAUSS-01850] : object with oid 16420 is not a partition object 原因分析 此视图是建立分区表的某个分区上的
IN::= 右边是一个圆括弧括起来的子查询,它必须只返回一个字段。左边表达式对子查询结果的每一行进行一次计算和比较。如果找到任何相等的子查询行,则IN结果为true。如果没有找到任何相等行,则结果为false(包括子查询没有返回任何行的情况)。 表达式或子查询行里的NULL遵照SQL处理布
导出查询结果 将SQL查询结果导出到CSV、文本或二进制文件中。 本节包含如下内容: 导出所有查询结果 导出当前页的查询结果 导出所有查询结果 在执行导出操作过程中,以下操作无法启动: 在“SQL终端”页签,执行SQL查询。 执行 PL/SQL语句。 调试 PL/SQL语句。 导出所有查询结果。
单击查询ID可以显示查询监控详情。但当查询ID为0时,表示此查询出现异常,不支持单击显示详情与终止查询功能。 若用户需要终止查询,单击“终止查询”按钮,确认是否终止查询。 新增细粒度权限控制功能,只有配置了操作权限的用户才能使用终止查询按钮。只读权限用户登录后终止查询按钮为灰色。
终止正在执行的查询后,正在执行的SQL语句会停止执行。 如果某查询被终止,该查询对数据库所做的变更会被撤销。该查询后的查询不会执行。 以下情况查询无法终止,“结果”页签显示该查询的执行结果: 服务器已执行完毕该查询,正在准备生成结果。 服务器已执行完毕该查询,查询结果正在从服务器传送至Data