2012-10-23 21 views
0

我正在製作一個評論系統,用戶將在已經構建的主頁面上登錄他們的詳細信息,但在第二個頁面上,我將按照創建的時間順序顯示每條評論,在mysql數據庫中做更好的存儲註釋或將註釋放入一個文件並從文件的服務器讀取它們?使用mysql來存儲註釋或將它們寫入PHP中的文件或XML文件並在主頁上顯示它們會更好嗎?

+0

如果您認爲MySQL過大,您也可以使用SQLite。但我總是會選擇MySQL。 – CodeAngry

回答

4

爲簡單起見,XML [又名'平面文件'數據庫]似乎更可取,但您會發現一旦獲得合理的流量,性能就會快速下降。假設您有一個單獨的XML文件存儲每個頁面的註釋,並且您希望顯示最新的5條評論,並且最新的評論是最新的。服務器必須從頭到尾讀取整個文件,只需找出哪5條評論是最後一條。

當你對某事有10,000條評論時會發生什麼?當您有100條帖子,每條評論有10,000條評論和1000條綜合瀏覽量時會發生什麼?基本上,你在磁盤上投入了太多的I/O負載,以至於其他所有事情都會停頓以排隊等待I/O。

像mysql一樣的RDBMS的一個要點是,當信息被放入數據庫並且該索引保存在內存中時,該信息被編入索引。通過這種方式,每次發出請求時,應用程序不必重新檢查100%的數據。編寫一個mysql查詢來查詢索引,並讓系統檢索只有所需的信息,即:最後5條評論。

相信我,我曾經爲一家託管服務提供商和這樣的代碼工作,經常會導致各種問題,「它可以在幾個月內運行良好,現在我的網站速度很慢」。你不會後悔花一點時間第一次做正確的事,而不是爭先恐後地重新做這個應用程序。

0

絕對在MySQL中。這些行動很簡單,而且可追溯性很容易。

除非你想要走NoSQL路線。

0

將評論存儲在數據庫中將是一個更好的選擇。你用數據庫獲得更多的權力。通過字更多的權力,我的意思是,你可以很容易地做這些:

  • 在使用時被刪除,你可以決定是否要刪除他的評論或不
  • 可以顯示前10個(左右)評論
  • 可以顯示一些其他頁面
0

我會建議一個數據庫上從用戶的所有評論,一個更容易訪問數據的方式。在提取數據時,佈局代碼時XML總是很痛苦。可能值得從某人那裏得到更詳細的解釋,因爲我還沒有太多的XML經驗。

此外,您可以更多地控制評論。

希望有幫助!

0

MySQL每一次!

這是完美的做法,非常合適/靈活/強大。

相關問題