2011-08-12 2 views
4

私は450,000以上の単語で英語の単語辞書のテキストファイルを持っています。私はそれをテキストファイルに保存する前に、それは良い仕事をした。しかし、今では同じ数の単語で新しい辞書をアップロードしましたが、その意味もあります。私はちょうど経験豊富な人に、サイトを遅らせることなくこれを保存する最良の方法を尋ねたいと思っていますか?私はまだサーバー上のテキストファイルに保存する必要がありますか?これは今データベースに保存する必要がありますか?テキストファイルの保存とデータベースの保存の利点は何ですか?質問のための大きなファイルを保存する最も良い方法

+0

:ここではそれらを防ぐために、SQLインジェクションや方法の簡単な例を示す良いリンクがあります。 – 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

    大量の情報を参照している場合は、いつでもデータベースとのインターフェイスになることをお勧めします。 DBは1つの帯域幅を減らすのに役立ちますが、ユーザーは大きなテキストファイルにアクセスする必要はありません。

    0

    Gurnor、

    あなたは、私がデータベースにSQLインジェクション攻撃を避けることができる方法をもう少し説明してくださいできますか?そして、なぜあなたはテキストファイルがそれに敏感であると言ったのですか?

    テキストファイルを使用している場合、データベースは存在しないため、SQLインジェクション攻撃を行う方法はありません。データがのために使用されているものに完全に依存し

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

    関連する問題