2011-09-05 29 views
9

可能性の重複:
Disadvantages of MARS (Multiple Active Result Sets)?デメリット(複数のアクティブな結果セット)

私は私が同時に複数のDataReadersを使用する必要があることなどのアプリケーションを開発しています。 私は複数のDataReadersは私が複数のDataReadersを意味すると言う...同じ時に必要な数が存在することになる。(10〜50程度以上の何か)

だから私が出会った1つのシナリオは、にしました別の接続文字列を使用して..しかし、私は厄介な感じを実装する!

もう1つの方法は、MARSを使用することです。私はそれがかなりまともであることがわかりました。しかし私の疑問は、私がそれを実装したり、私が起こるのを待っている何か悪質なものであることを考慮したりする必要があるということです.--)

私が見つけたものは、MARSサーバーはデータを高速に生成するので、クライアントアプリケーションは受け取ったデータと同じ速度でデータを受け取る必要があります。そうしないと、データストレージバッファがいっぱいになり、処理が停止します。バッファが空になると有効になります。

私は唯一のセレを使用しています。また....辺りのどこか

を失ってしまいましたこのレビュアメントのためのctステートメント..

私の質問はそれを使用して任意の短所ですか? 処理が停止しないように、サーバのデータバッファにどのくらいのデータを格納できるか?

+1

あなたの質問は何ですか? (疑問符で終わるものは、それを単語に入れるのに役立ちます) –

+0

「複数のデータベース」を数量化できますか?それを大文字にしても数字にはならない。 – Tony

+0

@ジョンストーン=>彼は完全に質問でそれを終了するのを忘れていた – Manek

答えて

1

100個のデータセットから一度に読み込む必要がある場合は、複数の接続を使用することをお勧めします。 1つの接続に複数のアクティブなデータウェアハウスが必要な理由がわかりません。

この大規模な並列操作を実行することなく、達成しようとしているクエリまたはタスクを実行する可能性が高くなります。おそらくいくつかの詳細でより具体的なことができれば、我々はいくつかの良い提案を試すことができます。

+0

@ Johnstone =>私はクエリ側で最適化するために多くの試みをしましたが、今ではMARSを先に進めています。 1つのTableAからリストを取得し、TableAの各行がTableBからリストをフェッチし、TableBの各行がTableCからリストをフェッチしなければならないようなものです。ピー!!私はこれが奇妙に聞こえることを知っていますが、とにかくここにあなたのための負荷を感謝します。私はちょうどデータバッファに格納できるデータについて知りたがっています。 – Manek

+1

これは、結合とまったく同じように思えます。あなたが望むことを1つのクエリで行うことができ、それはあなたがやっていることよりはるかに高速です。 –

+0

例: 'SELECT * FROM TblA INNER JOIN TblB ON X = Y'は' TblA'からすべての行を与え、 'Xblick'の各行に対して 'X = Y'の条件を満たす行を' TblB 'となる。 –

関連する問題