检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
若数据库中表个数非常多(至少大于1W的场景),因PGXC_GET_TABLE_SKEWNESS涉及全库查并计算非常全面的倾斜字段,所以可能会花费比较长的时间(小时级),建议参考PGXC_GET_TABLE_SKEWNESS视图定义,直接使用table_distribution()函数自定义输出,减少输出列进行计算优化,例如:
all代替union。union在合并两个集合时会执行去重操作,而union all则直接将两个结果集合并、不执行去重。执行去重会消耗大量的时间,因此,在一些实际应用场景中,如果通过业务逻辑已确认两个集合不存在重叠,可用union all替代union以便提升性能。 优化后的SQL
ha256, sha384, sha512, sm3。支持的加密数据类型:目前数据库支持的数值类型,字符类型,二进制类型中的RAW,日期/时间类型中的DATE、TIMESTAMP、SMALLDATETIME。keystr的长度范围与加密算法相关,为1~KeyLen字节。当cryp
all代替union。union在合并两个集合时会执行去重操作,而union all则直接将两个结果集合并、不执行去重。执行去重会消耗大量的时间,因此,在一些实际应用场景中,如果通过业务逻辑已确认两个集合不存在重叠,可用union all替代union以便提升性能。 优化后的SQL
PGXC_STAT_WAL字段 名称 类型 描述 query_id bigint 当前query的ID。 query_start timestamp query起始时间。 global_wal bigint 当前query在集群产生的wal日志总量,单位是Byte。 global_avg_wal_speed
ha256, sha384, sha512, sm3。支持的加密数据类型:目前数据库支持的数值类型,字符类型,二进制类型中的RAW,日期/时间类型中的DATE、TIMESTAMP、SMALLDATETIME。keystr的长度范围与加密算法相关,为1~KeyLen字节。当cryp
in {1..22} do ./qgen -s 1000 -d $i > Q$i done 生成的query无法直接使用,需要修改,修改项如下: 语句中含有LILIMIT -1的需要删除LIMIT -1。 Q15:将create view语句改为with语句,去除drop
适的查询规划,一般来说通过ANALYZE语法收集整个表或者表的若干个字段的统计信息,周期性地运行ANALYZE,或者在对表的大部分内容做了更改之后马上运行它是个好习惯。 调优手段之GUC参数 查询优化的主要目的是为查询语句选择高效的执行方式。 如下SQL语句: 1 2 SELECT
适的查询规划,一般来说通过ANALYZE语法收集整个表或者表的若干个字段的统计信息,周期性地运行ANALYZE,或者在对表的大部分内容做了更改之后马上运行它是个好习惯。 调优手段之GUC参数 查询优化的主要目的是为查询语句选择高效的执行方式。 如下SQL语句: 1 2 SELECT
已经执行完成,该存储过程在执行下一条语句。 解决方法:此类场景是由于存储过程执行慢导致,等存储过程执行完成即可,也可考虑优化存储过程中执行时间较长的语句。 场景三:大量SAVEPOINT/RELEASE语句处于idle in transaction(8.1.0之前集群版本) 执行
对于大表,CHECKSUM函数可能会需要很长时间。 如果某两表的CHECKSUM值不同,则表明两表的内容是不同的。由于CHECKSUM函数中使用散列函数不能保证无冲突,因此两个不同内容的表可能会得到相同的CHECKSUM值,存在这种情况的可能性较小。对于列进行的CHECKSUM也存在相同的情况。 对于时间类型timestamp
数。 为节点CPU逻辑核数总和的1/2 master-timeout 备份参数 指定Roach master节点和agent节点的通信超时时间,取值范围为600~3600,单位是s。 3600 max-backup-io-speed 备份参数 指定Roach备份时的IO流控,取值
通过编写shell脚本自动化执行查询和结果收集 登录ECS,进入到/opt目录下,使用vim命令生成query.conf和run_query.sh两个脚本文件。脚本内容如下,编辑后按:wq!保存脚本配置。 run_query.sh脚本如下: 1 2 3 4 5 6 7
security_group_id 否 String 指定安全组ID,用于集群网络配置。 public_ip 否 PublicIp object 公网IP地址,如果未指定,则默认不使用公网连接。 datastore_version 是 String 集群版本。 master_key_id 否 String
RestorePoint 参数 是否必选 参数类型 描述 back_ref 否 String 快照ID。 restore_time 否 Long 恢复时间。 cluster_id 否 String 集群ID。 表7 Tag 参数 是否必选 参数类型 描述 key 否 String 标签key。
首先介绍函数的易变性。在GaussDB(DWS)中共分三种形态: IMMUTABLE 表示该函数在给出同样的参数值时总是返回同样的结果。 STABLE 表示该函数不能修改数据库,对相同参数值,在同一次表扫描里,该函数的返回值不变,但是返回值可能在不同SQL语句之间变化。 VOLATILE 表示该函数值可以在一次表扫描内改变,因此不会做任何优化。
usename, state FROM pg_stat_activity WHERE state != 'idle'; 若需要取消运行时间过长的查询,通过PG_TERMINATE_BACKEND函数,根据线程ID结束会话。 1 SELECT PG_TERMINATE_BACK
当表有以下特征时,可以考虑使用表分区策略: 数据具有明显区间性的字段。 分区表需要根据有明显区间性字段进行表分区。比如按照日期、区域、数值等字段进行分区,时间字段是最常见的分区字段。 业务查询有明显的区间范围特征。 查询数据可落到区间范围指定的分区内,这样才能通过分区剪枝,只扫描查询需要的分区,
usename, state FROM pg_stat_activity WHERE state != 'idle'; 若需要取消运行时间过长的查询,通过PG_TERMINATE_BACKEND函数,根据线程ID结束会话。 1 SELECT PG_TERMINATE_BACK
token_num与available_token_num相等,说明查询视图的时刻IO Scheduler还未开始处理这些请求。 等待一段时间后,再次发起查询。 SELECT * FROM pgxc_obs_io_scheduler_stats WHERE io_type = 'r'