マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

コネクションとセッション、そして、トランザクションとの関連。

詳細

コネクション

  • クライアント、サーバー間の接続。
  • 以下で意識する。
    • コネクションのオーバーヘッド
    • 消費リソース / コネクション
    • コネクション・プーリング

セッション

  • 通常は、1コネクション・1セッション。
  • MARSを使用すると、1コネクション・nセッションになる。

MARS (Multiple Active Result Sets)

  • 呼称
    • MARS : Multiple Active Result Set
    • 複数のアクティブな結果セット
  • 複数のバッチを単一の接続で実行できる機能
  • 本機能を使用すると、
  • 1コネクション:1セッションのところが、
  • 1コネクション:nセッションになる。
  • サンプルコードを見ると、
    • 1コネクション中に複数のDataReader?で使用するクエリの結果セットを保持できるもよう。
    • 若しくは、カーソル操作(読み取りと更新)を非同期に処理することができる。
  • 機能を有効にするには、キーワード ペア "MultipleActiveResultSet?=True" を接続文字列に追加。

sp_getbindtoken / sp_bindsession

  • バインドされた接続(bind connections)などと呼ばれるが、超マイナーな機能
  • 2つの接続を1つにまとめる事が出来る。
  • MARSの前身の機能で、本機能の登場により、
    複数の結果セットを保持する目的では使用しなくなった。
  • トランザクションもまとめる事が出来る
    (セッションをバインドすると、同じトランザクションに参加できる)。

参考

Microsoft Docs

sp_getbindtoken / sp_bindsession

  • SQL Server

MARS (Multiple Active Result Sets)


Tags: :データアクセス, :SQL Server


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-12-17 (火) 17:50:43 (206d)