开发者社区> 问答> 正文

技术运维问题 - MYSQL使用 -RDS MySQL 收集表的统计数据



1. 什么是统计信息


RDS MySQL 5.5 和 5.6 查询优化器依据表的统计信息计算不同执行计划的代价,因此表上统计信息的准确对查询优化器选取正确的执行计划至关重要。

2.什么情况下需要收集统计信息


当表上有大量的数据修改时,比如从数据源加载大量数据(ETL)或者大量历史数据归档,建议手动收集下表上的统计信息,以保证查询优化器可以选取最优的执行计划。

3. 如何收集统计信息


收集表的统计信息可以通过 analyze 命令来收集统计信息。analyze 用来分析和存储表的关键字的分布,使得系统获得准确的统计信息,影响 SQL 的执行计划的生成。对于数据基本没有发生变化的表,不需要经常进行表分析。但是如果表的数据量变化很明显,实际的执行计划和预期的执行计划不同的时候,执行一次表分析可能有助于产生预期的执行计划。  



analyze table $table_name;

[/url]

4.收集统计信息的注意事项


analyze table期间将对全表加只读锁,建议在业务低峰期执行。
如问题还未解决,请联系[url=https://selfservice.console.aliyun.com/ticket/createIndex.htm]售后技术支持

展开
收起
梨好橙 2018-09-28 22:34:39 2031 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
企业运维之云原生和Kubernetes 实战 立即下载
可视化架构运维实践 立即下载
2021云上架构与运维峰会演讲合集 立即下载

相关镜像