none
SQL Server テーブル サイズの見積もりにおける固定長・可変長列について RRS feed

  • 質問

  • お世話になります。

    以下サイトの手順に従い、クラスタ化インデックステーブルのサイズ見積もりを行っています。

    http://technet.microsoft.com/ja-jp/library/ms178085.aspx

    この見積もり手順について質問です。

    「固定長列と可変長列の数を指定し、それらの列を格納するために必要な領域を計算します。」

    と記述されています。

    ここで、固定長列と可変長列の判断基準が不安になり、以下の認識でよろしいのでしょうか?

    ①文字データ、バイナリ―データ列

      固定長:char(n)、nchar(n)、binary(n)

      可変長:varchar(n)、text、nvarchar(n)、varbinary(n)、image

    ②日付時刻データ、数値データ、その他特殊データ列

      すべて可変長

    実は、②について、decimal(p,n)、int(n)、datetimeなどは固定長ではないかとも思っています。

    例えば、int型の場合、必要記憶領域サイズは4バイトですが、このバイト数を常に使用するのであれば

    固定長になると思います。

    ただ、色々調べて見たのですが、その点について明確な記述が見つける事ができず、困っております。

     

    初歩的な質問でお恥ずかしい限りですが、固定長・可変長列の判断基準についてご教授いただけないでしょうか?

    よろしくお願いいたします。

    • 移動 星 睦美 2013年10月25日 8:05 SQL Server Business Intelligence から
    2013年10月25日 8:02

回答

すべての返信

  • フォーラム オペレーターの星 睦美です。

    回答が集まりやすいのではないかと思いますので、私のほうでSQL Server フォーラムに質問を移動させていただきました。
    フォーラムで役立つ回答がありましたら、投稿者からの[回答としてマーク]をお願いします。

    フォーラム オペレーター 星 睦美 - MSDN Community Support


    • 編集済み 星 睦美 2013年10月25日 8:09 リンク追加
    2013年10月25日 8:08
  • ①はあっていますが、②は固定長です。
    • 回答の候補に設定 星 睦美 2013年10月28日 6:01
    • 回答としてマーク mihasato25 2013年10月29日 0:50
    2013年10月25日 10:56
  • SQL Server の数値型と日付/時刻型は全て固定長だったと思います。
    細かくは此処から一つ一つ見てみて下さい。

    データ型 (Transact-SQL)

    • 回答の候補に設定 星 睦美 2013年10月28日 6:01
    • 回答としてマーク mihasato25 2013年10月29日 0:50
    2013年10月25日 11:11
  • 佐祐理 様

    回答、ありがとうございました。

    日付時刻・数値型については、必要記憶領域として明示的に定義されているので、

    固定長では?と思っていましたが、やなりそのなのですね。

    長年、メインフレームでCOBOLを使って開発を行ってきていたので、数値の固定長=前ゼロ付と

    思ってしまい、悩んでいました。

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

    2013年10月29日 0:46
  • hihijiji 様

    回答、ありがとうございました。

    ご紹介いただいたサイト、参考にさせていただきます。

    重ねてお礼申し上げます。

    2013年10月29日 0:49