數據庫優化之實例和故事數據庫
簡要:每一項技術都離不開數據庫,數據庫猶如人的大腦;密不可分,一旦出了問題(故障),停頓,卡主後果可想而知;潛心學習數據庫優化3個月,如今將學到的經驗分享給你們,但願可以跟各位PHP大神分享和學習探索,若是有不對或者好的建議告知下; ~!
備份數據,是每一個項目維護的平常工做;有利於數據在系統遭受破壞或其餘特定狀況下,從新加以利用的一個過程;項目的備份時間,大都是根據項目需求來決定,好比:每小時,指定時間等;
案例: 某個項目正進行大型活動,數據庫因爲巨大用戶量的訪問以及定時備份;形成帶寬出現峯值,大量執行操做處於隊列狀態,導致數據庫中止工做;後端
方法:分佈式
何謂大表,是指記錄行數巨大,單標超過千萬行;表數據文件巨大,表數據文件超過10G;
(1) 慢查詢
很難在必定時間內過濾出所須要的數據,緣由:來源少->區分度低->大量磁盤IO->下降磁盤效率->大量慢查詢學習
(2)大表對DDL操做優化
- 創建索引須要很長的時間,過程可能會形成:主從延遲、鎖表甚至於形成死鎖blog
- 修改表結構須要長時間鎖表,過程可能會形成:主從延遲,鎖表,阻塞索引
方法:
1. 分庫分表
2. 數據歸檔:減小先後端業務影響隊列
大事務,運行時間比較長,操做的數據比較多的事務
(1)風險事務
(2)方法get
做者:不動峯
博客園: http://www.cnblogs.com/mylly/ 版權全部,歡迎保留原文連接進行轉載:)