三種永遠不要放到mysql數據庫裏的東西
圖片,文件,二進制數據永遠不要放到mysql數據庫裏。
很多人會覺得既然數據庫支持BLOB類型的數據,把文件塞進BLOB字段裏一定沒有錯了!?錯,不是這樣的! 別的先不提,在很多數據庫語言裏,處理大字段都不是很容易。
把文件存放在數據庫裏有很多問題:
1.對數據庫的讀/寫的速度永遠都趕不上文件系統處理的速度
2.數據庫備份變的巨大,越來越耗時間
3.對文件的訪問需要穿越你的應用層和數據庫層
這後兩個是真正的殺手。
那麼把圖片縮略圖存到數據庫裏?結果是,你不能使用nginx或其它類型的輕量級服務器來處理它們了。
給自己行個方便吧,在數據庫裏只簡單的存放一個磁盤上你的文件的相對路徑,或者使用S3或CDN之類的服務。
短生命期數據不要放到mysql數據庫裏
使用情況統計數據,測量數據,GPS定位數據,session數據,任何只是短時間內對你有用,或經常變化的數據。 如果你發現自己正在使用定時任務從某個表裏刪除有效期只有一小時,一天或數週的數據, 那說明你沒有找對正確的做事情的方法。 使用redis,statsd/graphite, Riak,它們都是幹這種事情更合適的`工具。 這建議也適用於對於收集那些短生命期的數據。
當然,用挖土機在後花園裏種土豆也是可行的,但相比起從儲物間裏拿出一把鏟子, 你預約一臺挖土機、等它趕到你的園子裏挖坑,這顯然更慢。 你要選擇合適的工具來處理手頭上的事。
日誌文件不要放到mysql數據庫裏
把日誌數據存放到數據庫裏,表面上看起來似乎不錯,而且“將來也許我需要對這些數據進行復雜的查詢”, 這樣的話很得人心。這樣做並不是一個特別差的做法, 但如果你把日誌數據和你的產品數據存放到一個數據庫裏就非常不好了。
也許你的日誌記錄做的很保守,每次web請求只產生一條日誌。 對於整個網站的每個事件來說,這仍然會產生大量的數據庫插入操作, 爭奪你用戶需要的數據庫資源。 如果你的日誌級別設置爲verbose或debug,那等着看你的數據庫着火吧。
你應該使用一些比如Splunk Loggly或純文本文件來存放你的日誌數據。 這樣去查看它們也許會不方便,但這樣的時候不多,甚至有時候你需要寫出一些代碼來分析出你想要的答案, 但總的來說是值得的。
-
win8系統bios中文圖解
win8系列之所以開機速度很快是因爲開啓了快速啓動,在這種情況下是不能像我們以前那樣F12或者F8進入基本的.輸入輸出系統(Bios)的,這裏提供一種簡便的方法,如下:首先將鼠標移動到屏幕右下角點擊設置然後,點擊更改電腦設置進入電腦設置界面,點擊常規,然後點擊立即重啓重...
-
高職院校科研管理系統現狀分析及發展方向研究論文
科研一般是指利用科研手段和裝備,爲了認識客觀事物的內在本質和運動規律而進行的調查研究、實驗、試製等一系列的活動。下面是小編爲你帶來的高職院校科研管理系統現狀分析及發展方向研究論文,歡迎閱讀。【摘要】科研管理工作的水平是體現高校深化改革和發展的重...
-
win7系統如何查看ip地址
在使用win7系統的電腦時想要查看ip地址,那麼應該如何進行查看呢?下面是小編分享給大家的win7系統如何查看ip地址,歡迎閱讀。Win7查看IP地址的`方法:1.在Windows7下有幾種方式均可查看IP地址,我們可以通過系統命令界面來查看。點擊“開始”-“程序”-“附件”-“命令...
-
重裝系統黑屏怎麼辦
重裝系統黑屏怎麼辦?重裝系統黑屏的解決辦法有哪些?一起來看看吧。1、主引導分區損壞,無法正常引導系統重裝工作;2、C盤容量空間不足,導致系統無法啓動安裝或者安裝到一半無法繼續進行;比如原C盤容量僅有20G,安裝的是xp系統,現在升級安裝Win7系統那麼明顯是容量不足...