我正在製作一個評論系統,用戶將在已經構建的主頁面上登錄他們的詳細信息,但在第二個頁面上,我將按照創建的時間順序顯示每條評論,在mysql數據庫中做更好的存儲註釋或將註釋放入一個文件並從文件的服務器讀取它們?使用mysql來存儲註釋或將它們寫入PHP中的文件或XML文件並在主頁上顯示它們會更好嗎?
0
A
回答
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每一次!
這是完美的做法,非常合適/靈活/強大。
相關問題
- 1. 檢測文件中的更改並將它們寫入文件
- 2. 使用mysql或文件來存儲數據更好嗎?
- 3. 多文件上傳並將它們存儲在目錄中
- 4. 寫入小文件或一次寫入文件會更好嗎?
- 5. 讀取文件夾中的文件名並使用PHP將它們存儲在XML中?
- 6. 安全文件並顯示它們
- 7. 在APK中加入文件將它們存儲在SD卡中
- 8. 從網上拉圖片或將它們存儲在一個文件夾中?
- 9. 列出文件並使用bash在菜單中顯示它們
- 10. 在數據庫中存儲HTML/PHP文件並將它們用作索引/每個用戶的主頁
- 11. 讀取UTF-8文本行並將它們寫入文件
- 12. 從jtextfield提供數據並將它們存儲到文件中
- 13. 讀取多個.MAT文件,並將它們存儲在電池
- 14. 在Android中讀取聯繫人並將它們寫入XML文件
- 15. 如何檢索字符串並將它們寫入文件或資源並覆蓋並重用它?
- 16. 從一個巨大的csv文件中提取字段,並將它們寫入表,文本或csv文件
- 17. C#文件 - 從桌面讀取文件並將它們寫入特定文件
- 18. 生成Fibonacci序列的數字,並將它們寫入文件
- 19. 連接三個numpy的陣列,並將它們寫入文件
- 20. 計算列的值並將它們寫入excel文件
- 21. 選擇cvs文件中的行並將它們寫入另一個csv文件
- 22. C++掃描MP3文件的硬盤並將它們寫入文本文件
- 23. 如何讀取文件並將它們存儲在字典中。不使用zip
- 24. 將對象存儲在數組中並顯示它們(Java)
- 25. 在Android XML資源文件中存儲字符串並引用它們
- 26. C#中的XML註釋不顯示它們顯示xml的摘要
- 27. 存儲在平面文件中並跟蹤它們?
- 28. 在文件中寫入多個對象並閱讀它們
- 29. 在文件夾中的多個文件上運行python代碼並將它們寫入單獨的文件
- 30. Github分叉的解釋以及它們如何存儲文件
如果您認爲MySQL過大,您也可以使用SQLite。但我總是會選擇MySQL。 – CodeAngry