sql >> Databáze >  >> RDS >> PostgreSQL

Existuje nějaký rozdíl v ukládání stejné hodnoty v různých typech celých čísel?

Většina operací je nejrychlejší pro obyčejné integer , ale rozdíl je velmi malý a obvykle vás při optimalizaci výkonu nejméně znepokojuje.

Velikost úložiště je relevantnější, ale rozdíl mezi různými typy celočíselných čísel je stále velmi malý a často stěží relevantní, někdy se ztrácí kvůli vyplnění a zarovnání. Existují další datové typy, které mohou plýtvat mnohem více místem.

smallint (int2 ) zabírá 2 bajty na disku a v paměti RAM.
integer (int , int4 ) zabírá 4 bajty na disku a v paměti RAM.
bigint (int8 ) zabírá 8 bajtů na disku a v paměti RAM.

Podrobnosti pro číselné typy v Postgresu v příručce.

Existují různé další faktory pro skutečnou velikost úložiště. Musíte vzít v úvahu režii stránky a n-tice, zarovnání a odsazení, možné hodnoty NULL, indexování ...

Podrobnosti:

Existuje určitý potenciál pro optimalizaci, ale obvykle ne velký. Nejlepší je soustředit se na výběr vhodného datového typu pro svá data a nestarat se o drobné rozdíly v úložišti a výkonu, pokud přesně nevíte, co děláte.



  1. CakePHP:Vytvoření nového řádku HABTM místo toho aktualizuje jiné

  2. Jak načíst záznamy o shodách ve více tabulkách v MySQL

  3. Laravel migrace/db:seed super pomalé

  4. Přetrvávající UUID v PostgreSQL pomocí JPA