DWS最佳实践(三)DWS数据库日常运维操作

举报
行人忆南山 发表于 2020/05/08 15:26:56 2020/05/08
【摘要】 DWS数据库中的数据需要日常的运维操作:(1)analyze:搜集表的最新的统计信息,对性能影响很大;(2)vacuum:对系统的碎片进行整理,回收,提高系统扫描速度;

1. Analyze对性能影响较大)

在进行数据查询的时候,经常会看到一些提示:

LOG: Statistics in some tables or columns({tableName and columnName}) are not collected.
HINT: Do analyze for them in order to generate optimized plan.

它说明当前数据库对该表的统计信息不是最新的,在进行查询优化的时候,可能选择的不是最优方式,比如join顺序,join方式选择,是否使用索引等方面,直接影响到数据查询的性能。

建议定期对这些表做analyze。

(1)针对全库做analyze,在客户端输入下面的SQL命令:

analyze;

(2) 针对某个表做analyze:

analyze {table_name};

注:暂时还不支持针对某个schema做整体analyze,如果需要的话,需要手动对某个schema下的表做analyze;

DWS 1.5.0版本会自动打开analyze,升级之后就无需定期做analyze。可以登录数据库后执行如下命令查看:

show autoanalyze;

值为on,表示系统会自动analyze。

Analyze官网资料链接

https://support.huaweicloud.com/devg-dws/dws_04_0948.html

 

2. Vacuum

在数据库使用过程中,如果长期进行大量数据更新或者删除操作,会导致数据库内部存在很多碎片文件,降低查询效率,vacuum命令能够进行碎片整理,释放磁盘空间,并提升查询效率。

建议每个月执行1次或2次Vacuum操作,根据数据更新速度特定,如果比较频繁,可以提升频率。

建议在业务空闲的时候执行vacuum,该操作会造成短时间内IO负载提升。

Vacuum full命令会对该表添加排它锁,会导致短时间内该表无法访问。 

(1)登陆数据库,执行下面命令,对全库做vacuum:

vacuum full;

(2)对某张表做vacuum:

vacuum full {table_name} ;

vacuum官网资料链接

   https://support.huaweicloud.com/devg-dws/dws_04_1022.html  


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。