閱讀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 版-阿裏雲