SQL Serverの実際のデータはページに格納され、各ページの固定サイズは8192バイトです。そのページのヘッダー(pageId, FileID
など)によって96バイトにBeanが使用され、8096バイトの名前が使用されます実際のデータ保管。SQL Server 2008 R2は小さなページサイズの大きなデータをどのように処理しますか?
CREATE TABLE [dbo].[Employee]
(
[FristName] [nvarchar](4000) NOT NULL,
[LastName] [nvarchar](4000) NOT NULL,
[EmpID] [int] IDENTITY(1,1) NOT NULL
)
、その後、私はそれに行を挿入:私はこのようなテーブルEmployee
を作成したとした場合
は今、私は何を知っていることです。そのレコード
FirstName nvarchar 4000 * 2 bytes(nvarchar size) = 8000 bytes
LastName nvarchar 4000 * 2 bytes(nvarchar size) = 8000 bytes
EmpID int = 2 bytes
Total = 16002 bytes
の大きさを計算するには、各行が8096バイトのページ・サイズよりも大きいサイズ16002のバイトを有することを意味します。
は今私の質問は以下のとおりです。
- SQL Serverのページは、この挿入された行のために作成されている方法は?
- SQL Serverは内部的に大きなデータをどのように処理するのですか?
- そして、クラスタ化インデックスを
EMPID
に作成すると、Bツリーでどのように処理されるのでしょうか。すなわち、ナビゲーションレベル(リーフレベル以外)?
ありがとうございます。
ありがとうございました!正確な答えを得ました。明らかに+1と受け入れられた:) – Darshan