检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
作业中多个SQL有同样的子查询,并且子查询数据量较大。 Plan cost计算不准,导致子查询hash bucket太小,比如实际数据1000W行,hash bucket只有1000。 函数(如substr,to_number)导致大数据量子查询选择度计算不准。 多DN环境下对大表做broadcast的子查询。
查看表和数据库的信息 查询表信息 使用系统表pg_tables查询数据库所有表的信息。 1 SELECT * FROM pg_tables; 使用gsql的\d+命令查询表结构。 示例:先创建表customer_t1并插入数据。 1 2 3 4 5 6 7 8 9 CREATE
一般情况下,如果表的字段比较多(大宽表),查询中涉及到的列不多的情况下,适合列存储。如果表的字段个数比较少,查询大部分字段,那么选择行存储比较好。 存储模型 适用场景 行存 点查询(返回记录少,基于索引的简单查询)。 增删改比较多的场景。 列存 统计分析类查询。 group,join多的场景。
TopSQL查询示例 本章节以查询TPC-DS样例数据的作业为例,演示如何查看实时TopSQL和历史TopSQL。 配置集群参数 查询TopSQL资源监控信息之前,需要先配置相关的GUC参数,以便能查询到作业的资源监控历史信息或归档信息。步骤如下: 登录GaussDB(DWS)管理控制台。
户端IP、查询状态、完成时间、预估总执行时间(ms)、取消原因。 打开隐藏系统查询按钮可隐藏系统历史查询。 历史查询监控详情 单击指定历史查询监控的查询ID可触发该查询监控的详情页面,在详情页面中会展示当前监控的更多细节。例如查询语句的基本信息、在执行中的实时资源消耗、完整SQL语句以及查询计划。
按照约定的SQL语句规则,把输入的SQL语句从字符串转化为格式化结构(Stmt)。 2、语义解析 将“语法&词法解析”输出的格式化结构转化为数据库可以识别的对象。 3、查询重写 根据规则把“语义解析”的输出等价转化为执行上更为优化的结构。 4、查询优化 根据“查询重写”的输出和数据库内部的统计信息规划S
如果对表设计后的性能还有更高期望,可以运行EXPLAIN PERFORMANCE以查看执行计划进行调优。 关于执行计划的更详细介绍及查询优化请参考SQL执行计划及优化查询性能概述 。 父主题: 基于表结构设计和调优提升GaussDB(DWS)查询性能
未分区剪枝导致SQL查询慢 问题现象 SQL语句查询慢,查询的分区表总共185亿条数据,查询条件中没有涉及分区键。 1 2 SELECT passtime FROM table where passtime<'2020-02-19 15:28:14' and passtime>'2020-02-18
全局SQL查询 通过pgxc_stat_activity函数和视图实现全局SQL查询。 执行如下命令连接数据库。 gsql -d postgres -p 8000 执行如下命令创建pgxc_stat_activity函数。 DROP FUNCTION PUBLIC.pgxc_stat_activity()
如何导出GaussDB(DWS)某张表结构? 建议使用Data Studio图形化客户端进行表数据导出,支持以下几种常见场景: 指定某张表数据的导出。 某个schema下的所有表数据的导出。 某个数据库下的所有表数据的导出。 具体操作请参见导出表数据。 除了使用Data Stud
88kB - 总存储空间 42GB - 查询执行时间 查询1 14552.05ms - 查询2 27952.36ms - 查询3 17721.15ms - 总执行时间 60225.56ms - 父主题: 基于表结构设计和调优提升GaussDB(DWS)查询性能
ts_rewrite的这种形式接受一个起始查询和SQL查询命令。 这里的查询命令是文本字串形式,必须产生两个tsquery列。查询结果的每一行,第一个字段的值(目标子查询) 都会被第二个字段(替代子查询)替换。 当多个规则需要重写时,重写顺序非常重要; 因此在实践中需要使用ORDER BY将源查询按照某些字段进行排序。
GaussDB(DWS)业务读写阻塞,如何查看某个时间段的sql执行记录? 当您的数据库集群出现读写阻塞时,可通过TopSQL功能查看某个时间段所执行的sql语句,支持查看当前CN或者所有CN的sql语句。 TopSQL功能包括查看实时sql语句和历史sql语句: 实时sql语句查询请参见:实时TopSQL语句。
MySQL SQL迁移 工具支持从MySQL到GaussDB(DWS)的迁移,包括模式、DML、查询、系统函数、PL/SQL等。 在LINUX中执行MySQL迁移 在Linux中执行以下命令开始迁移。用户需指定源数据库、输入和输出文件夹路径和日志路径;应用程序语言类型是SQL。
则会先查找支持timestamp类型和int类型(常量数字认为是int类型)“等于”运算的函数,如果找不到,则把timestamp_col和常量数字隐式类型转化成text类型来计算。 【建议】尽量避免标量子查询语句的出现。标量子查询是出现在SELECT语句输出列表中的子查询,在下
MySQL配置 设置MySQL配置参数可在迁移MySQL数据库脚本时自定义迁移工具的行为。 打开config文件夹中的features-mysql.properties文件,并根据实际需要设置features-mysql.properties文件中的配置参数中的参数。 表1 features-mysql
查看执行计划和开销 执行计划显示如何对指代SQL语句的表格进行扫描,分为次序扫描和索引扫描。 SQL语句执行成本为预估的查询时间(查询的语句成本单位是随机的,通常情况下检查对象为磁盘页)。 查看SQL查询的计划和成本,可通过以下方式: 在“SQL终端”中输入查询或使用已有查询,单击工具栏的来查看解释计划。
按照约定的SQL语句规则,把输入的SQL语句从字符串转化为格式化结构(Stmt)。 2、语义解析 将“语法&词法解析”输出的格式化结构转化为数据库可以识别的对象。 3、查询重写 根据规则把“语义解析”的输出等价转化为执行上更为优化的结构。 4、查询优化 根据“查询重写”的输出和数据库内部的统计信息规划S
单击“确定”后,会跳转到“计划诊断”页面,查看SQL语句诊断结果和计划诊断可视化以及结果。 单击“SQL诊断”显示SQL语句的格式化以及诊断项。 图15 查看SQL语句诊断结果 切换“计划诊断”显示查询SQL的计划树形节点以及计划诊断结果。 图16 查看SQL计划诊断结果 查看数据库、schema、表列表统计信息
3及以上集群版本支持。 实时查询功能默认不开启,启动实时查询功能需要在“监控设置 > 监控采集”页面打开“实时查询监控”指标项,操作详情请参见监控采集。开启实时查询后可能会导致数据量过大,请谨慎操作。 历史查询功能默认不开启,启动历史查询功能需要在“监控设置 > 监控采集”页面打开“历史查询监控”指