ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3413985 SQLServer2005におけるXML型のバイト数について
質問者:heygoro こんにちわ。
SQLServer2005を使ったデータベースサーバを構築しようとしているのですが、データベースの領域をサイジングする際にXML型のカラム定義がどれくらい必要なのかわからなくて困っています。(データベース設計書が書けなくて困ってしまいました)
MSDN等では最大2GBまで確保可能とは定義されていますが、これだとnvarcharと同じ感じで定義することになると思うのですが(そうだとすると、1レコード64KB超えは確実なので、大量のレコード確保は難しく感じます)。
普通にnvarcharと同じ要領でXMLインスタンスの実バイト数を定義してしまえばよいのか、それともint型のように特定のバイト数が定まっているのか、それともXML型でのデータベース定義はまったく別のアプローチをする必要があるのかみなさまのお知恵をお借りしたいと思います。
よろしくお願いします。
困り度:
  • 困っています
質問投稿日時:
07/10/09 10:09
この質問に対する回答は締め切られました。

回答良回答10pt

ANo.1 こんにちは。
XML型はバイト数の指定はできないみたいですよ。なぜかはよく知りませんが、XML型がBLOB(バイナリラージオブジェクト型)なので文字列や数値のように指定ができないかと思われます。

確証はありませんのでご参考まで。
回答者:hakugen
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
07/10/09 23:12
この回答へのお礼ご回答、感謝します。
そうなんですよね、明示的に何バイト確保する必要があるのか一切情報ないんですよね。
でも、xmlインスタンスのBLOB的情報をレコードのどこかに確保する必要があるはずなので(Cでいうところのポインタみたいなもんだと考えていただければ)、それが実際何バイト必要なのか完全にブラックボックスなんですよね。

自分でもExpress実装してみて、どういった物理イメージになるのか試してみます。

どうも、ありがとうございました。