三種東西永遠(yuǎn)不要放到mysql數(shù)據(jù)庫里
圖片,文件,二進(jìn)制數(shù)據(jù)永遠(yuǎn)不要放到mysql數(shù)據(jù)庫里。
很多人會覺得既然數(shù)據(jù)庫支持BLOB類型的數(shù)據(jù),把文件塞進(jìn)BLOB字段里一定沒有錯了???錯,不是這樣的! 別的先不提,在很多數(shù)據(jù)庫語言里,處理大字段都不是很容易。
把文件存放在數(shù)據(jù)庫里有很多問題:
1.對數(shù)據(jù)庫的讀/寫的速度永遠(yuǎn)都趕不上文件系統(tǒng)處理的速度
2.數(shù)據(jù)庫備份變的巨大,越來越耗時間
3.對文件的訪問需要穿越你的應(yīng)用層和數(shù)據(jù)庫層
這后兩個是真正的殺手。
那么把圖片縮略圖存到數(shù)據(jù)庫里?結(jié)果是,你不能使用nginx或其它類型的輕量級服務(wù)器來處理它們了。
給自己行個方便吧,在數(shù)據(jù)庫里只簡單的存放一個磁盤上你的文件的相對路徑,或者使用S3或CDN之類的服務(wù)。
短生命期數(shù)據(jù)不要放到mysql數(shù)據(jù)庫里
使用情況統(tǒng)計數(shù)據(jù),測量數(shù)據(jù),GPS定位數(shù)據(jù),session數(shù)據(jù),任何只是短時間內(nèi)對你有用,或經(jīng)常變化的數(shù)據(jù)。 如果你發(fā)現(xiàn)自己正在使用定時任務(wù)從某個表里刪除有效期只有一小時,一天或數(shù)周的數(shù)據(jù), 那說明你沒有找對正確的做事情的方法。 使用redis,statsd/graphite, Riak,它們都是干這種事情更合適的工具。 這建議也適用于對于收集那些短生命期的數(shù)據(jù)。
當(dāng)然,用挖土機(jī)在后花園里種土豆也是可行的,但相比起從儲物間里拿出一把鏟子, 你預(yù)約一臺挖土機(jī)、等它趕到你的園子里挖坑,這顯然更慢。 你要選擇合適的工具來處理手頭上的事。
日志文件不要放到mysql數(shù)據(jù)庫里
把日志數(shù)據(jù)存放到數(shù)據(jù)庫里,表面上看起來似乎不錯,而且“將來也許我需要對這些數(shù)據(jù)進(jìn)行復(fù)雜的查詢”, 這樣的話很得人心。這樣做并不是一個特別差的做法, 但如果你把日志數(shù)據(jù)和你的產(chǎn)品數(shù)據(jù)存放到一個數(shù)據(jù)庫里就非常不好了。
也許你的日志記錄做的很保守,每次web請求只產(chǎn)生一條日志。 對于整個網(wǎng)站的每個事件來說,這仍然會產(chǎn)生大量的數(shù)據(jù)庫插入操作, 爭奪你用戶需要的數(shù)據(jù)庫資源。 如果你的日志級別設(shè)置為verbose或debug,那等著看你的數(shù)據(jù)庫著火吧。
你應(yīng)該使用一些比如Splunk Loggly或純文本文件來存放你的日志數(shù)據(jù)。 這樣去查看它們也許會不方便,但這樣的時候不多,甚至有時候你需要寫出一些代碼來分析出你想要的答案, 但總的來說是值得的。
相關(guān)文章
MySQL數(shù)據(jù)庫外鍵?foreing?key
這篇文章主要介紹了MySQL數(shù)據(jù)庫外鍵?foreing?key,外鍵表示了兩個實體之間的聯(lián)系,更多相關(guān)介紹需要的小伙伴可以參考一下2022-06-06解決MySQL server has gone away錯誤的方案
在本篇文章里小編給大家分享的是一篇關(guān)于MySQL server has gone away錯誤的解決辦法,有需要的朋友們可以參考下。2020-02-02MySQL表的內(nèi)外連接和視圖使用實戰(zhàn)練習(xí)
這篇文章主要給大家介紹了關(guān)于MySQL表的內(nèi)外連接和視圖使用的相關(guān)資料,MySQL的內(nèi)外連接查詢是用于將兩個或多個表中的數(shù)據(jù)進(jìn)行關(guān)聯(lián)查詢的一種方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01MySQL基礎(chǔ)學(xué)習(xí)之字符集的應(yīng)用
這篇文章主要為大家詳細(xì)介紹了MySQL中字符集的相關(guān)使用,例如字符集的查詢與修改和比較規(guī)則等,文中的示例代碼講解詳細(xì),需要的可以參考一下2023-05-05Mysql用戶創(chuàng)建以及權(quán)限賦予操作的實現(xiàn)
在MySQL中,創(chuàng)建新用戶并為其授予權(quán)限是一項常見的操作,本文主要介紹了Mysql用戶創(chuàng)建以及權(quán)限賦予操作的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2023-10-10Mysql更換MyISAM存儲引擎為Innodb的操作記錄總結(jié)
下面小編就為大家?guī)硪黄狹ysql更換MyISAM存儲引擎為Innodb的操作記錄總結(jié)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03mysql8.0.11安裝配置方法圖文教程 MySQL8.0新密碼認(rèn)證方式
這篇文章主要為大家詳細(xì)介紹了mysql8.0.11安裝配置方法圖文教程,以及MySQL8.0新密碼認(rèn)證方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-11-11專業(yè)級的MySQL開發(fā)設(shè)計規(guī)范及SQL編寫規(guī)范
這篇文章主要介紹了專業(yè)級的MySQL開發(fā)設(shè)計規(guī)范及SQL編寫規(guī)范,需要的朋友可以參考下2020-11-11