数据库优化分层思想
可以分別從SQL語句層面、SQL配置層面、SQL架構層面和業務層面來優化。
?SQL 語句層面
1. 調優策略
*號的處理(只是提取必要字段,減少流量)大SQL(拆分、逐步縮小結果集)合理的索引(where字句后面的條件)類型轉換(“符號的使用)盡量不要用范圍查詢,或者縮小檢索范圍(e.g.程序邏輯 update)2. 哪些SQL需要調優
找開發查看程序日志(e.g.接口 -> 后臺服務)查看慢查詢日志查看統計:最多調用、最占流量SQL配置層面
1. 哪些配置需要關注
Query_Cachemax_connectionswait_timeoutlockSQL架構層面
主從復制(讀寫分離)考慮數據一致性分庫分表(UID倒數幾位取模)映射關系是否均勻負載均衡LVS、F5、Nginx多級緩存redis
業務層面的思考
表字段拆分1.某些列字段不常用2.text(適用key-value)拆分出來,新建一個詳情表方便運維(DDL)、便于緩存、提高查詢性能冷數據備份把每年歷史數據導出去,縮小檢索范圍程序邏輯的處理UPdate全表的例子
轉載于:https://www.cnblogs.com/evilxr/p/4001240.html
總結
- 上一篇: 免费动态域名解析
- 下一篇: [20140928]创建连接到MySQL