2011-08-12 53 views
4

我有一個英文單詞詞典的文本文件,超過450,000字。在我將它保存在一個文本文件中之前它運行良好。但是現在,我上傳了帶有相同數量詞彙的新詞典,但其含義也一樣。我只想問一些有經驗的人,在不減緩網站速度的情況下,保存這個最好的方法是什麼?我仍然應該將其保存在服務器上的文本文件中,還是應該現在保存在數據庫中?在數據庫中保存與在文本文件中保存的優點是什麼?反之亦然?保存大文件查詢的最佳方法

+0

完全取決於什麼數據的用途。 – Chronial

回答

1

絕對使用數據庫。它是:

  • 更容易查詢(只是使用的,而不是試圖解析文本PHP MySQL庫)
  • 容易維護(有很多偉大的數據庫管理工具)
  • 更快[1]

[1]在你的情況下,數據庫可能會顯着更快,因爲它看起來像你會做很多讀取。某些數據庫系統緩存頻繁的讀取查詢以進行快速響應

一個文本文件確實有其優點(例如,可以更容易地備份,在文本文件中查找單詞不容易受到SQL注入攻擊)。但是,如果正確實施,數據庫更適合這樣的事情。

+0

可以請你解釋一下,我該如何避免數據庫的SQL注入攻擊?爲什麼你說文本文件很容易呢?如果這是一個愚蠢的問題,我很抱歉,所有這些都是新的。 – Gurnor

+0

其實我說查詢文本文件不容易發生注入攻擊,因爲這是一個數據庫特定的威脅。看看使用PDO:http://php.net/manual/en/book.pdo.php如果正確實施,它是安全的注射攻擊。 –

+0

SQL注入僅適用於用戶能夠插入或修改數據庫中的數據的情況。這聽起來不像這裏的情況,但無論如何,這裏有大量有關SQL注入的信息:http://stackoverflow.com/questions/60174/best-way-to-stop-sql-injection-in-php – EdoDodo

1

任何時候當你引用大量的信息時,你最好的選擇就是與數據庫接口。數據庫將幫助你減少一個帶寬,你不需要用戶訪問一個大的文本文件。

0

Gurnor,

能否請您解釋一下多一點我如何才能避免數據庫SQL注入攻擊?你爲什麼說文本文件很容易呢?

那麼如果你使用的是文本文件,沒有數據庫,所以沒辦法做sql注入攻擊。這裏是展示SQL注入,以及如何簡單的例子,以防止他們一個很好的鏈接:

http://www.tizag.com/mysqlTutorial/mysql-php-sql-injection.php