阅读979 返回首页    go 微信


优化建议__最佳实践_云数据库 PetaData-阿里云

常用优化包括

1) 合理的选择拆分字段。选择拆分字段时需要综合考虑查询性能、分布式事务、热点、数据迁移等多个因素;

2) 掌握SQL的执行计划,尤其是核心SQL。对于不确定的SQL应在分布式数据库执行 ‘explain sql’命令,确定SQL有没有跨分区、有没有改写以及底层有没有合适的索引,合并时是否进行了排序和分组动作;

3) 对底层MySQL建立合适的索引,这一点看似与分布式数据库无关,但却是最重要的。分布式数据库的高性能依赖于底层数据库的高性能,而对底层数据库性能来说,建立需要的索引是重要的环节;

4) 确保语句能正确使用到索引,例如查询条件能被索引完全覆盖到,保证分区键上有索引等;

5) 查询尽量在单机完成,最为简单的方式就是在分区字段上指定等值条件,使操作只发送到一个后台数据库节点。若不指定,则操作需要发送到每个后台节点,可能导致性能大幅下降;

6) 尽量避免分布式事务和分布式查询;

7) 同时使用其他适用于MySQL的优化手段;

设计表结构的过程

1) 预估数据量、访问规模,准备测试数据,测试原始数据库的性能基线;

2) 分析和设计表结构、约束、索引;

3) 分析和设计分区方式和分区字段;

4) 分析和设计常用sql语句访问的频度和分区数量

5) 分析和设计需要聚合、排序、分组、条件过滤的字段;

6) 重新在分布式数据测试性能基线;

7) 调整分布式数据库的配置参数,重新观察系统;

8) 调整读写比例、并发活跃连接数,重新观察系统;

9) 比较结果,找出正确的优化方式;

最后更新:2016-11-23 17:16:03

  上一篇:go 分区设计__最佳实践_云数据库 PetaData-阿里云
  下一篇:go 功能特点__产品简介_云数据库 Redis 版-阿里云