检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
可以避免数据倾斜。 【关注】将表的扫描压力均匀分散在各个DN上。避免扫描压力集中在部分DN上,而导致性能瓶颈。例如,在事实表上使用等值过滤条件时,将会导致扫描压力不均匀。 【关注】减少需要扫描的数据量。通过分区表的剪枝机制可以大幅减少数据的扫描量。 【关注】尽量减少随机I/O。通
数据库、数据仓库、数据湖、湖仓一体分别是什么? 如今随着互联网以及物联网等技术的不断发展,越来越多的数据被生产出来,数据管理工具也得到了飞速的发展,大数据相关概念如雨后春笋一般应运而生,如数据库、数据仓库、数据湖、湖仓一体等。这些概念分别指的是什么,又有着怎样的联系,同时,对应的
分析过程 通过抓取问题SQL的执行信息,发现大部分的耗时都在“CStore Scan”。 分析出问题的场景:基表是一张十亿级别的表,每晚有批量增量数据入库,同时会有少量的数据清洗的工作。白天会有高并发的查询操作,查询不涉及表关联,并且返回结果都不大。 处理方法 调整表定义,将表修
E操作: 有主键约束的场景。 执行计划能下推的场景。 对于列存表,暂时不支持RETURNING子句。 避免使用UPDATE/DELETE大批量刷新和删除数据,考虑使用TRUNCATE PARTITION/DROP PARTITION代替。 更多开发设计规范参见总体开发设计规范。 语法格式
COPY_UPDATE:数据先通过copy方式入库到临时表,通过临时表加速使用update from where方式更新目标数据。 UPDATE_AUTO:批量小于copyWriteBatchSize使用UPDATE,否则使用COPY_UPDATE。 auto maxFlushRetryTimes
tb_motor_vehicle列存表的分区扫描上。 已确认该表的分区键为createtime,而涉及的SQL中无任何createtime的筛选和过滤条件,基本可以确认是由于慢SQL的计划没有走分区剪枝,导致了全表扫描,对于185亿条数据量的表,全表扫描性能会很差。 处理方法 在慢SQL的
E操作: 有主键约束的场景。 执行计划能下推的场景。 对于列存表,暂时不支持RETURNING子句。 避免使用UPDATE/DELETE大批量刷新和删除数据,考虑使用TRUNCATE PARTITION/DROP PARTITION代替。 更多开发设计规范参见总体开发设计规范。 语法格式
tovacuum_vacuum_cost_delay反而会使得垃圾回收的时间变长。 autovacuum_naptime设置间隔时间过长 批量删除或更新大表 例如对于一个10GB的表,一条SQL或一个事务中删除或更新9GB的数据,这9GB的数据必须在事务结束后才能进行脏数据回收,无形中增加了膨胀的可能。
触发因素:对列存表(尤其是分区表)进行高频小批量导入会造成CU膨胀。 处理方法 列存表的数据入库方式修改为攒批入库,单分区单批次入库数据量需大于DN个数*6W。 如果因业务原因无法攒批入库,则需定期VACUUM FULL此类高频小批量导入的列存表。 当小CU膨胀很快时,频繁VACUUM
sizeof(dsn), 'N'); // 交互获取批量绑定的数据量 getInt("batchCount", &batchCount, 'N', 1); do { // 交互获取批量绑定的数据中,不要入库的数据量 getInt("ignoreCount"
sizeof(dsn), 'N'); // 交互获取批量绑定的数据量 getInt("batchCount", &batchCount, 'N', 1); do { // 交互获取批量绑定的数据中,不要入库的数据量 getInt("ignoreCount"
sizeof(dsn), 'N'); // 交互获取批量绑定的数据量 getInt("batchCount", &batchCount, 'N', 1); do { // 交互获取批量绑定的数据中,不要入库的数据量 getInt("ignoreCount"
GAUSS-02061 -- GAUSS-02070 GAUSS-02061: "could not send data to WAL stream: %s" SQLSTATE: XX000 错误原因:"主备日志复制过程中,备机发送数据时检测到错误。根据""%s""给出的主备连接返回的错误信息进行处理。"
boolean 如果表有(或曾有)任何继承的子表,则为真。 relcmprs tinyint 表示是否启用表的压缩特性。需要特别注意,当且仅当批量插入才会触发压缩,普通的CRUD并不能够触发压缩。 0表示其他不支持压缩的表(主要是指系统表,不支持压缩属性的修改操作)。 1表示表数据的
GaussDB(DWS)的表支持行存表、列存表,底层存储方式的选择严格依赖于客户的具体业务场景。一般来说计算型业务查询场景(以关联、聚合操作为主)建议使用列存表;点查询、大批量UPDATE/DELETE业务场景适合行存表。 对于每种存储方式还有对应的存储层优化手段,这部分会在后续的调优章节深入介绍。 调优手段之SQL重写
GaussDB(DWS)的表支持行存表、列存表,底层存储方式的选择严格依赖于客户的具体业务场景。一般来说计算型业务查询场景(以关联、聚合操作为主)建议使用列存表;点查询、大批量UPDATE/DELETE业务场景适合行存表。 对于每种存储方式还有对应的存储层优化手段,这部分会在后续的调优章节深入介绍。 调优手段之SQL重写
GaussDB(DWS)的表支持行存表、列存表,底层存储方式的选择严格依赖于客户的具体业务场景。一般来说计算型业务查询场景(以关联、聚合操作为主)建议使用列存表;点查询、大批量UPDATE/DELETE业务场景适合行存表。 对于每种存储方式还有对应的存储层优化手段,这部分会在后续的调优章节深入介绍。 调优手段之SQL重写
GAUSS-52200 -- GAUSS-52299 GAUSS-52200: "Unable to import module: %s." SQLSTATE: 无 错误原因:系统环境默认使用python2执行工具,与期望使用的Python3不符,导致导入模块时报错:缺少python依赖的库。
自动异步排序与列存vacuum互斥,当autovacuum流程中满足列存vacuum的条件,则直接跳过流程中的异步排序,等待下次触发(极端场景下因为反复大批量DML操作的执行,列存vacuum会不停被触发,因此异步排序总是无法被触发)。
底层数据保存的文件格式。 time_stamp time_stam 扫描操作开始的时间。 actual_time double 扫描操作执行时间,单位为秒。 file_scanned bigint 扫描的文件数量。 data_size double 扫描的数据量,单位为字节。 billing_info