0

受け入れ可能な電子メールアドレスのリストに対して電子メール入力フィールドを検証する.net Webアプリを構築しています。最大 10,000 の許容値が存在する可能性があり、頻繁に変更されることはありません。その場合、個々のエントリではなく、リスト全体が置き換えられます。

これを実装する最善の方法を議論しています。SQL Server データベースがありますが、これらのレコードは比較的静的で、一括でのみ置換されるため、文字列値を含むテキスト ファイルを参照/検索することを検討しています。そうすることでアップロード プロセスが簡単になるように思われますが、この情報を rdbms に保持するメリットはほとんどありません。

フィードバックをお待ちしております。

4

2 に答える 2

0

私はあなたの状況についていくつかの仮定を立てるつもりです。

  1. データ セットには、使用可能なデータの列が複数含まれています。
  2. レコード セットには、常に表示されるよりも多くの行が含まれています。
  3. データは、ある種の出力ビュー (HTML など) にフォーマットする必要があります。

半静的データをテキスト ファイルではなく SQL に残す必要がある具体的な理由を次に示します。

  1. テキスト データを読み取って処理するたびに、テキスト データを解析する必要はありません。(文字列の解析は、メモリと CPU の負荷が比較的高くなります)。SQL は、事前に解析された構造化データとして列を保存します。
  2. 独自の行フィルタリングまたは検索アルゴリズムを開発する (またはそれを行うライブラリを実装する) 必要はありません。SQL は、キャッシング、クエリ最適化の高度なアルゴリズムを適用する洗練されたエンジンです (シーク/検索/スキャン/インデックス/ハッシュなどの高度なアルゴリズムが多数あります)。
  3. SQL には、ソリューションの堅牢性と他のツールとの統合を徐々に拡張するオプションがあります。(データをテキストまたは XML ファイルに入れると、将来の可能性が制限されます)。

警告:

  • 特定の SQL Server の実装は、ディスク IO とネットワーク遅延のパフォーマンスの影響を受ける可能性があります。ディスク IO パフォーマンスを調整するために、適切に構築された SQL Server は、高速読み取り用に調整された高速マルチスピンドル ディスク アレイにデータ ファイル (.mdf) を配置し、高速書き込み用に調整されたスピンドル上のログ ファイル (.log)からそれらを分離します。 .
  • SQL サーバーの待ち時間と忙しさ (一言ではありません) がパフォーマンスに影響を与える可能性があることに気付くかもしれません。非常にビジーな、または遅い SQL サーバーで実行している場合は、ローカル ファイルの代替手段を検討する状況になる可能性があります。その場合は、XML などの構造化形式をお勧めします。(ただし、SQL サーバーの使用を回避するための回避策を探している場合は、SQL の実装を改善するために時間とお金を投資することをお勧めします。
于 2013-05-20T17:06:52.943 に答える