[解決済み] MARS (Multiple Active Result Sets)のデメリットとは?
質問
MARS (Multiple Active Result Sets) のデメリットをご存知の方はいらっしゃいますか? また、カーソルが MARS よりも有用である場合など、MARS の使用を避けるべき理由をご存知の方はいらっしゃいますか。
どのように解決するのですか?
少なくとも2つの既知の(潜在的な)欠点があるようです(この(1)より チーム ブログ ):
-
明らかに、これは MARS を有効にした設計に対して実行するように設計されていないレガシー システムの潜在的な問題を引き起こす可能性があります。 MARS 以外の世界で動作するように最適化された既存のコードは、MARS で変更せずに実行した場合、パフォーマンスがわずかに低下する可能性があります。
-
「MARS を使用すると、複数のマルチステートメント バッチをサーバーに送信することができます。サーバーはそのようなバッチの実行をインターリーブします。つまり、バッチが例えば SET や USE ステートメントによってサーバーの状態を変更したり、TSQL トランザクション管理ステートメント (BEGIN TRAN, COMMIT, ROLLBACK) を使用すると、あなたとサーバーの両方が実際の意図が何であるかについて混乱する可能性があります。"
私はまだ MARS を有効にした設計を試したことがありませんが、現在のプロジェクトでそれを行うのに非常に近いところまで来ています。 競合する (そして時には依存する) クエリ操作 (アクティブなレコードセットが実行されているのと同じデータベースから設定データを遅延ロードするような) に若干の問題があるのです。
MSDN サイトに詳細な情報があります。 (2) にあります。
[ (1)
https://web.archive.org/web/20190911155929/https://blogs.msdn.microsoft.com/sqlnativeclient/2006/09/27/using-mars-with-sql-native-client/
]
[ (2)
http://msdn.microsoft.com/en-us/library/ms131686.aspx
]
関連
-
[解決済み] nvarchar 型から datetime 型へのデータ型変換エラー
-
[解決済み] ストアドプロシージャとビューの違いは何ですか?
-
[解決済み] 存在しない重複があるため、インデックスを作成できない?
-
[解決済み] SQL Server 2005でアップサート(更新または挿入)する方法
-
[解決済み] 常にnvarchar(MAX)を使用することにデメリットはありますか?
-
[解決済み] Sqlサーバーの文字列がNULLまたは空であるかどうかを確認する方法
-
[解決済み】SQL Serverスキーマは何の役に立つのか?
-
[解決済み] SQL Server Brokerを有効にするのに時間がかかりすぎる
-
[解決済み] データベーススキーマが存在するかどうかを問い合わせるには?
-
[解決済み] SQL Server 2008とSQL Server 2005の使用と日付時刻について
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] このコマンドに関連する開いているDataReaderがすでにあり、最初にそれを閉じる必要があります。
-
[解決済み] nvarchar 型から datetime 型へのデータ型変換エラー
-
[解決済み] 存在しない重複があるため、インデックスを作成できない?
-
[解決済み] SQL Server 2005でアップサート(更新または挿入)する方法
-
[解決済み] Sqlサーバーの文字列がNULLまたは空であるかどうかを確認する方法
-
[解決済み】SQL Serverスキーマは何の役に立つのか?
-
[解決済み] テーブルを変更し、複数の列を追加する ms sql
-
[解決済み] SQL Server Brokerを有効にするのに時間がかかりすぎる
-
[解決済み] SQL Server 2005 T-SQL での Base64 エンコーディング
-
[解決済み] データベーススキーマが存在するかどうかを問い合わせるには?