Domanda

E 'scritto ovunque che i dati in SQL Server è scritto nelle pagine di 8K (8192 B) ciascuna con 8060 byte per i dati e il resto è in testa (informazioni di sistema).

Sebbene, il recente articolo [1] fornisce codice di esempio che illustra, come ho capito, che 8078 byte di dati rientrano in una pagina.

Che cosa mi manca nella comprensione di 8.060 B per per pagina?

I verificato il codice a 86 SQL Server 2008 R2 ...


Aggiornamento:

ho visto un eloquente risposta su di follow-up per [1]? Ho peccato che io non segna che utile (per me) e commentare subito ... volevo solo indagare più me stesso prima di rispondere ...


Update2:

ho postato subquestion [2]

[1]
Come design del tavolo può influire le prestazioni di SQL Server?
http: // SQLServer-training. com / how-table-design-can-impatto-your-sql-server-prestazioni / -

[2] | Come arrivare a limiti di 8060 byte per riga e 8000 per (varchar, nvarchar)?
Come fare si arriva a limiti di 8060 byte per riga e 8000 a (, varchar nvarchar) valore?

È stato utile?

Soluzione

Long risposta breve, il limite è di 8060 byte per riga, ma 8096 byte per pagina. Le righe in questo articolo si collegato hanno una dimensione fila di ~ 4000 byte, in modo che siano ben al di sotto del limite per riga. Tuttavia, ciò non risponde alla domanda di quanti tali righe si inseriscono in una pagina.

vedi "La stima delle dimensioni di un mucchio" nella documentazione in linea:

http://msdn.microsoft.com/en-us/library /ms189124.aspx

Se si fa il calcolo per le tabelle in questo articolo, vedrete che la prima tabella ha una dimensione fila fisica di 4048 byte, che è exaclty metà del limite 8096 per una pagina.

Altri suggerimenti

  • La massima riga dimensione è 8060 byte
  • In questo caso, ci sono due righe ogni 4039 byte
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top