2011-01-25 46 views
3

我做了this question後,我決定最好將數據存儲在我自己的服務器上。數據在100-500行和12列的表格中。我是一個新手程序員,目前正在開發我的第一個網絡應用程序JavaScriptPHP我正在尋找最佳的解決方案來存儲和檢索這些數據。我不需要進行復雜的查詢,我只需要根據其中一列中的內容檢索每行數據。數據庫是存儲我的web應用程序數據的最佳選擇嗎?

我正在考慮一個數據庫爲此目的,但因爲我沒有數據庫的經驗,我不知道它是否是我的需求的最佳解決方案。當我收到內容時,它實際上是CSV格式,所以我不知道將它保存在我自己的服務器上還是將它保存到數據庫最好。然後,在客戶端請求中,我將使用PHP轉換數據並將其作爲JSON發送。

  • 數據庫是我的web應用程序的最佳解決方案嗎?或者我應該堅持CSV文件?
  • 如果一個數據庫是最好的選擇,你能指點我一個很好的教程,例子或書籍開始?

在此先感謝。

+1

MySQL有一個很好的功能,可以將CSV數據加載到一個表LOAD DATA INFILE'file_name'中。文檔:http://dev.mysql.com/doc/refman/5.1/en/load-data.html – orangepips 2011-01-25 15:23:50

回答

4

數據庫是最好的解決方案。如果您試圖挑選CSV文件中的單個行,那麼在解析整個文件時會有相當多的開銷,只是爲了獲取一小段信息。另一方面,數據庫在這方面效率更高,並且可以在很短的時間內完成。

如果您使用的是PHP,那麼最常用的數據庫是MySQL,並且幾乎每個主機都會將其作爲標準包含在內。

Here is a nice tutorial讓你開始,但谷歌的MySQL和PHP,並有大量的信息在網絡上爲您獲取信息。 PHP和MySQL非常受歡迎,所以這裏有很多信息。

+0

謝謝!你知道是否有可能在Visual Studio中使用MySQL? – VerizonW 2011-01-25 15:28:48

0

除非您擅長解析文件,否則我會堅持數據庫,您可以隨時輕鬆導入您的csv文件。至於一個很好的教程,只要谷歌MySQL和前5個左右的鏈接應該足以讓你開始。

- 編輯 -

更何況,PHP有很多真正好的內置函數用於MySQL數據庫的調用只是查找的mysql_query和它的相關的PHP.NET

功能
1

如果這數據表是靜態的或者幾乎是完全靜態的(意思是你每週手工編輯一次或者類似的東西),CSV要簡單得多。

一旦它變得複雜多了,數據庫看起來更好,因爲情況變得更加複雜:

1)多個用戶將會閱讀從這個單一的表寫到/

2)這一個表格變成2個表格,然後是5個表格,然後是15個表格...

0

我認爲如果這是一個移動web應用程序,你正在看性能和結果返回或腳本執行的速度。我肯定會使用CSV文件的數據庫。這是一個Stack Question我認爲可能也有幫助。

0

我會堅持數據庫 - 特別是如果你已經建立它。如果你需要擴大規模,你會看到更好的表現。另外,如果你需要開始做更復雜的事情,數據庫將具有更多的靈活性。處理CSV數據並不困難(我會說更簡單,但這就是我),即使您從不需要它們,您也可以獲得數據庫的優勢。你將永遠有選擇。

至於導入數據,您可以輕鬆設置一個腳本來讀取.CSV文件並將其插入到數據庫中。您甚至可以將其設置爲定期運行。您上傳一個具有特定名稱的文件,每隔幾分鐘您有一個CRON作業運行一個腳本來查找該文件,將其導入數據庫,然後成功刪除該文件。至於書籍,我很喜歡O'Riley系列 - 查看你選擇的DBMS的書。還有許多關於處理數據庫的Web教程。 PHP和MySQL都很好。作爲獎勵,有免費的,易於設置的工具,如xamp,將在您的PC上運行Apache/PHP/MySQL以便於開發。

0

我會使用SQLite數據庫。它是CSV文件和MySql之間的中間層。 SQLite不要求你的機器上運行服務器進程。沒有安裝。 SQLite數據庫是一個單獨的文件,您可以隨時隨地保存它。使用PDO或者如果你是5.3使用新的SQLite3擴展。不要使用sqlite擴展,它會創建舊的SQLite2數據庫。 SQlite2已被棄用一段時間了。哦,是的,使用PDO的教程:http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html

相關問題