2011-05-28 44 views
0

我正在網上進行一場足球比賽,並且在模擬後需要每天覆蓋球員狀態。 (你不需要我的問題的數據庫樣本,只需要瞭解我的數據模式(約100列和500萬條目):playerid,gamesplayed,達陣,跑步......)SQL數據庫或用PHP寫文本文件?

考慮數據將需要經常操作(主要是SQL UPDATE和SELECT),我應該選擇將數據放入SQL數據庫並執行多個查詢,還是使用PHP編寫函數將數據寫入服務器上的文件中?哪個最能減輕服務器壓力?

+0

如果你有大量的數據使用SQL數據庫 – Ibu 2011-05-28 04:28:24

+0

PHP只能是快速的,但訪問文件將痛苦地放緩你的應用程序,特別是當文件變得更大並且多個用戶試圖訪問它時...... SQL一路 – Ibu 2011-05-28 04:30:02

+0

到目前爲止,SQL將根據一般意見。 – 2011-05-28 04:36:22

回答

2

如果您希望您的網站具有可伸縮性,請使用SQL。這可能比設置文本文件更復雜,但如果您稍後想要添加更多高級功能,則不必拆開整個基礎架構。

+0

我明白你在說什麼,但是使用SQL而不是寫入PHP文件會減慢服務器並使用更多的CPU? – 2011-05-28 04:27:17

+3

這不是一個切割和乾燥的問題;有折衷。 SQL可能比打開一個文件需要更多的週期,但是SQL針對快速查找和插入進行了優化。此外,SQL會自動管理兩個試圖同時寫入同一個表的人。 – 2011-05-28 04:30:04

2

我會建議你使用他們兩個,我敢肯定,你不會總是使用從MySQL數據庫的整個信息。因此,在MySQL中爲玩家保留基本信息,比如id和名字,接下來......如果你真的想搞個txt文件,那麼比爲每一個玩家制作一個獨特的txt文件(用PHP做這件事,1st檢查是否已有文件具有此名稱,名稱應該是播放器的ID,如果不存在...,則創建1),並在此文件中存儲經常更新的信息。我建議你測試兩種方式:使用Mysql + TXT並且只使用MySQL。乾杯

1

一般來說,如果你有這麼多的條目數據庫可能是要走的路。然而這取決於你的確切用法。

如果您只是一次生成所有結果,然後沒有真正查找單個記錄,那麼可能文本文件就足夠了。然而,如果你做的不僅僅是數據庫,還有其他方面的需求,因爲它是它們的目標。

您可以始終實現更快的情況和配置文件,因爲這將是在您的環境和使用情況下確定它的實用方式。

1

我建議使用SQL它更加靈活和優化,特別是對於搜索,插入,更新。您仍然可以使用文件讀/寫作爲緩存系統。很多時候,您無需在每次訪問頁面時查找相同的信息。這是您可以緩存頁面或只是數據的時間,並且每xx秒/分鐘/小時更新緩存取決於您的網站。