2016-10-15 11 views
-1

すべてのXML要求と応答をSQL Serverデータベースに保存します。これらは何百万人もの人がいます。 SQL ServerにXMLタイプを使用すると、パフォーマンス上の問題が発生します。大量の要求と応答XMLをSQL Serverに保存するベストプラクティス

このようなデータを保存するための最良の方法は誰に教えてください。

おかげ

+0

最良の方法:最適化されたストレージモデルを持っているので、 'XML'データ型を使用します。単純にXMLを' nvarchar(max) 'またはそれに類するものとして保存するよりも、XMLをトークン化された形式で格納しますそれは... –

+0

私は@ marc_s – Tahirkheli

+2

***と言われているように性能問題がありますか?ここではあまり明確ではありません..... SQL ServerにXMLを格納する最も最適化された方法です。あなたのケースで「パフォーマンスの問題」がある場合、これらのXMLをSQL Serverに格納するのが最良の選択肢ではありません –

答えて

0

は、私がコメントを書き始めたが、あまりにも多くのはそのためだった:)

適切なソリューションは、あなたが実際に後でそのデータと何をする必要があるかに基づいて、異なる場合があります。

  • のデータをロギング目的で保存する必要がある場合は、XMLデータ型とID、日時スタンプ、XMLベースのインデックスを持つ単純なテーブルを使用できます。

  • あなたがに必要がある場合は、このデータに基づいていくつかのレポートを構築したり、それに瞬時に高速アクセスを持っている - より良い方法は、集約/すべてこのXML入力を解析し、適切なビルドデータベース(テーブル/インデックス化に保管することです等)。

  • この要求と応答が大規模な自然を持っていないと、このXMLは、何の構造を指定している場合 - いくつかのNoSQLソリューションを使用することを検討してください。

F.e.テキストとして

  1. 検索要求、XMLで
  2. 応答、
  3. また、ユーザーID、リクエストの開始と終了の日時:我々は保存されたログを使用して検索サービスを提供しています。

私たちは1日に500回の検索を行っています。そのため、それを1つのテーブルにuserid/datetimeのインデックスで格納します。すべて正常に動作します。

関連する問題