4

基本的には、まだパズル関連のウェブサイト(実際にはマイクロサイト)で作業しており、単語パターン(「r ?? n」など)を入力して一致するすべての単語を取得できるツールを作成しています(実際にはマイクロサイト)。この場合:雨、手綱、破滅など)。単語をローカルテキストファイル(5文字の単語の戻り区切りリストを持つwords5.txtなど)またはデータベース(5文字の単語を再び保存するテーブルWords5など)に保存する必要があります。 )?

データの取得速度とCPUサーバーの負荷の観点から問題を調べています。私は間違いなく両方の方法を試して、両方の方法で数回の実行にかかった時間を記録することができましたが、これを経験したことがあるかもしれない人々からそれを聞きたいです。

全体的にどちらの方法が一般的に優れていますか?

4

3 に答える 3

6

データベースは、最小限の作業で最高のパフォーマンスを提供します。組み込みのインデックスサポートとクエリアナライザは無料で優れたパフォーマンスを提供し、テキストファイルは大量の作業に対して優れたパフォーマンスを提供する可能性があります。

短期的には、データベースとフラットファイルの違いを隠す汎用インターフェイスを作成することをお勧めします。後で、どれが最高のパフォーマンスを提供するかをベンチマークすることができますが、データベースは開発の1時間あたりの最高の価値を提供すると思います。

于 2010-05-15T06:05:16.727 に答える
1

高速検索のためには、確かにある種のインデックスが必要です。自分でインデックスコードを書きたくない場合は、データベースを使用するのが確かに最も簡単です。

アプリにJavaまたは.NETを使用している場合は、db4oを調べることを検討してください。1行のコードでオブジェクトをそのまま保存するだけで、テーブルを作成するためのセットアップコストはかかりません。

于 2010-05-15T14:40:08.690 に答える
0

ローカルテキストファイルへのデータの保存(ファイルの最後に新しいレコードを追加する場合)は、データベースに保存するよりも常に高速です。したがって、高負荷のアプリケーションを作成する場合は、データをテキストファイルに保存し、後でデータベースにデータをコピーできます。ただし、ほとんどのアプリケーションでは、データベースアプローチには多くの利点があるため、テキストファイルの代わりにデータベースを使用する必要があります。

于 2010-05-15T17:59:24.220 に答える