優化資料庫的合理順序
資料庫效能差,需要優化
你發現
磁碟IO非常忙,看到的IOWAIT比較大
好吧,買硬碟,提升IOPS
確實提升了效能,30%
又發現
記憶體命中率比較低
OK,加大記憶體
確實提升了效能,30%
記憶體命中率比較低
OK,加大記憶體
確實提升了效能,30%
又發現
記憶體大了後,邏輯讀太多,導致CPU比較忙,接近100%
OK,加大CPU
確實提升了效能 20%
記憶體大了後,邏輯讀太多,導致CPU比較忙,接近100%
OK,加大CPU
確實提升了效能 20%
又發現,幾個SQL的索引建立有問題
優化SQL,調整索引
提升了500%
優化SQL,調整索引
提升了500%
某天,跟應用方聊天發現,這幾個SQL可以不要,應用升級後去掉。。。。。。。
優化資料庫問題的方法論,一般應該從架構的最上級開始,然後往下
應用 資料庫 主機 儲存
如果這個順序顛倒過來,就會非常容易搞錯哪個是因哪個是果
如果一開始選擇的是優化SQL,那麼可能前面的東西都不用做了
應用 資料庫 主機 儲存
如果這個順序顛倒過來,就會非常容易搞錯哪個是因哪個是果
如果一開始選擇的是優化SQL,那麼可能前面的東西都不用做了
一般正常的步驟應該是:
優化應用,比如減少某些不必要SQL的執行,合併查詢等
優化資料庫,比如調整SQL,優化索引等
優化主機,增大記憶體,增加CPU
優化儲存,增加磁碟,重新平衡資料分佈
優化應用,比如減少某些不必要SQL的執行,合併查詢等
優化資料庫,比如調整SQL,優化索引等
優化主機,增大記憶體,增加CPU
優化儲存,增加磁碟,重新平衡資料分佈
在上層確實優化已經做到位,不能再優化的情況下,再考慮下層優化,這樣基本能確保優化方向的正確性。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22034023/viewspace-761662/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- php與資料庫連線如何實現資料的順序和倒序PHP資料庫
- python運算子及優先順序順序Python
- 不合理的執行順序引發的死鎖
- 演算法題———————輸入棧的入棧順序和出棧順序判斷是否合理演算法
- 資料庫優化 - SQL優化資料庫優化SQL
- CSS優先順序CSS
- 運算子的優先順序
- 資料庫優化資料庫優化
- SpringBoot配置檔案優先順序載入順序Spring Boot
- 順序表有序插入資料
- 能否在Oracle資料庫表中指定列順序OKOracle資料庫
- Oracle優化案例-分頁語句返回資料順序不一致(十一)Oracle優化
- [譯]HTTP/2的優先順序HTTP
- Android程式優先順序Android
- 中斷優先順序
- Yacc使用優先順序
- 資料庫結構的優化資料庫優化
- 資料庫優化SQL資料庫優化SQL
- MySQL資料庫優化MySql資料庫優化
- nginx的location匹配順序、優先順序,location對映衝突排查Nginx
- sql語句執行順序與效能優化(1)SQL優化
- Web 效能優化:Preload與Prefetch的使用及在 Chrome 中的優先順序Web優化Chrome
- 時間序列化資料庫選型?時序資料庫的選擇?資料庫
- 設計中的優先順序(下)
- SAP UI configuration determination的優先順序UI
- 設計中的優先順序(上)
- CSS 選擇器的優先順序CSS
- 測試用例的優先順序
- 資料庫優化之臨時表優化資料庫優化
- SQL 優先順序join>whereSQL
- java運算子優先順序Java
- 資料庫優化建議資料庫優化
- 百萬級資料庫優化資料庫優化
- 資料庫查詢優化資料庫優化
- 資料庫效能優化2資料庫優化
- MYSQL資料庫------SQL優化MySql資料庫優化
- PostgreSQL資料庫多列複合索引的欄位順序選擇原理SQL資料庫索引
- MySql的資料庫優化到底優化啥了都(3)MySql資料庫優化
- 不同順序InBoundHandler之間的資料傳遞