
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
レコードデータサイズで大事なことが1つ抜けていました。
NULL許容カラムは、そうでないカラムよりも1バイト大きくなります。ですので、例えば10カラムあって全部NULL許容の場合は、そうでない場合と比較してレコードデータサイズが10バイト大きくなります。
No.2
- 回答日時:
※以下に書くことはSQL Server 7.0の頃の知識なので、SQL Server 2000でそのまま適用することはできないかもしれません。
また、1バイト/2バイト/4バイトの別などは誤っているかもしれません。SQL Server 6.x~7.0では、レコードが占有する領域は次のようにして計算することができます。
テーブルの各カラムの型について、次の数値の合計
固定長データであれば、そのバイト数(注:Decimalについては2桁で1バイト)
text型とimage型であれば、8バイト
それ以外の可変長データであれば、データ長+1バイト
テーブルが占有する領域は、おおよそ次のように計算できます。
レコードが占有する領域の総和 * 100 / ページ充填率(1-100)+text/image型データ(1レコードの1カラムごとに2KB単位に切り上げ)の総和+インデクスが占有する領域の総和
なお、上記は非常におおざっぱな記述で、細かくは条件によって変わってきます。例えば主キーがクラスタ化インデクスか非クラスタ化インデクスかによってずいぶん変わりますし、全く同じレコードデータであってもinsertする順番によって占める領域は非常に大きく変わります。(insertの順序によって充填率が変わるためです。)
ですので、解析的にバイト数を計算するのは無駄とまでは言いませんが、実際にはライブデータで見積もりを行うか、そうでなければ最悪値を求めるためだけに使用するのが賢明です。
No.1
- 回答日時:
空の状態であれば、理論的には0バイト
1件追加した場合は、質問にあるように、
各フィールドの合計値=レコード長
です。
まぁ、理論的にはというのは、テーブルが空でも、
定義をした時点で、メモリや、ファイルはある程度占有しています。
しかし通常、データ量を論じる場合には、この定義をした分のメモリやファイルは無視するのが普通だと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL クエリ データ数
-
SQLのエラー(~付近に不適切な...
-
Tverは無料でしょうか?
-
SQL…オーバーラップする時間
-
ACCESS2007 フォーム 「バリア...
-
SQLをはじめから勉強するには
-
Microsoft SQL Native Cliant 9...
-
Microsoft SQLで2つの項目を主...
-
sqlserverで集計結果をUPDATEし...
-
BULK INSERT時のNull許容について
-
トランザクション
-
SQLServer
-
Microsoft SQL Serverについて
-
Wacom Cintiq 16 と Wacom Cint...
-
SQL Server management studio ...
-
サーバー破壊
-
Visuaal Studio Community 2022...
-
Access2021 「ISNULL関数には引...
-
甘いものがすきなのってなおせ...
-
SQLて何ですか!
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
携帯電話の略語であるMBって英...
-
文字の容量(サイズ)についての...
-
EXCELでの16進数取り出し、上...
-
GB と Gbの違いの意味
-
KBとMB
-
実行計画の「COST」と「BYTE」...
-
CSV データのバイト数を調べる...
-
メモリーの単位を解説してくだ...
-
アルファベット30文字は何バイ...
-
KBのMB違いって
-
新聞1ページは何バイトですか?...
-
Oracle AL32UTF8でのバイトサイ...
-
Stirlingについて
-
1Mバイトって何バイト?
-
16進数どうしの乗算
-
JIS、SHIFT-JIS、EUCはなぜでき...
-
カナカナの(半)濁点がついた文...
-
おねがいします。
-
Excel_VBAで改行コードの無いフ...
-
電子透かしを使用した場合の著...
おすすめ情報