sql >> Database teknologi >  >> RDS >> PostgreSQL

Tabelstørrelse med sidelayout

Din beregning er slået fra på flere punkter.

Fed understregning min for at besvare spørgsmålet i kommentaren.

  • HeapTupleHeader optager 23 bytes . Men hver tuple ("vare" - række eller indeksindgang) har en vare-id i starten af ​​datasiden til den, i alt på de nævnte 27 bytes. Sondringen er relevant, da faktiske brugerdata begynder ved et multiplum af MAXALIGN fra starten af ​​hver vare, og vareidentifikationen tæller ikke med i denne forskydning - samt den faktiske "tupelstørrelse".

  • 1 byte udfyldning på grund af datajustering (multiple af 8), som bruges til NULL bitmap i dette tilfælde.

  • Ingen polstring for typen varchar (men den ekstra byte nævnt ovenfor)

Så den faktiske beregning (med alle kolonner fyldt til det maksimale) er:

23 -- heaptupleheader + 1 -- NULL bitmap (or padding if row has NO null values) + 9 -- columns ... + 101 + 2 + 101 + 4 + 11 ------------- 252 bytes + 4 -- item identifier at page start

Relateret:

Du finder mange flere på linklisten til højre for disse svar.




  1. Kræver Oracles PS/SQL specifik rækkefølge af poster i "erklære"-sektionen af ​​en blok

  2. Ikke i stand til at oprette flere brugerdefinerede db-tabeller ved aktivering af wp-plugin

  3. Operand type clash:varchar er inkompatibel med varchar(50), der forsøger at indsætte i krypteret database

  4. Kan jeg få tilpasset datoformat til pluk(lister) på Laravel5?