PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Rozmiar tabeli z układem strony

Twoje obliczenia są wyłączone w kilku punktach.

Odważny nacisk, aby odpowiedzieć na pytanie w komentarzu.

  • HeapTupleHeader zajmuje 23 bajty . Ale każda krotka („element” — pozycja wiersza lub indeksu) ma identyfikator elementu na początku strony danych do niego, łącznie na wspomnianych 27 bajtach. Rozróżnienie jest istotne, ponieważ rzeczywiste dane użytkownika zaczynają się od wielokrotności MAXALIGN od początku każdego elementu, a identyfikator elementu nie wlicza się do tego przesunięcia - podobnie jak rzeczywisty "rozmiar krotki".

  • 1 bajt dopełnienia z powodu wyrównania danych (wielokrotność 8), które w tym przypadku jest używane dla bitmapy NULL.

  • Brak dopełnienia dla typu varchar (ale dodatkowy bajt wspomniany powyżej)

Tak więc rzeczywiste obliczenia (ze wszystkimi kolumnami wypełnionymi do maksimum) to:

    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

Powiązane:

Więcej znajdziesz na liście linków po prawej stronie tych odpowiedzi.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zainstalować bibliotekę klienta PostgreSQL dla PHP w systemie Windows z włączonym SSL?

  2. Wyszukaj model w danym przedziale cenowym w różnych walutach

  3. Jak wypełnić bazę danych postgresql za pomocą Mrjob i Hadoop

  4. Jak skonfigurować PostgreSQL z Postgis do obliczania odległości

  5. Skopiuj z csv do tabeli z automatycznym przyrostem kolumny PSQL id serial