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

Czy jest jakaś różnica w zapisywaniu tej samej wartości w różnych typach liczb całkowitych?

Większość operacji jest najszybsza dla zwykłych integer , ale różnica jest bardzo mała i zazwyczaj nie stanowi najmniejszego problemu przy optymalizacji wydajności.

Wielkość pamięci jest bardziej istotna, ale różnica między różnymi typami liczb całkowitych jest nadal bardzo mała i często nieistotna, czasami tracona przez dopełnienie i wyrównanie. Istnieją inne typy danych, które mogą zmarnować znacznie więcej miejsca.

smallint (int2 ) zajmuje 2 bajty na dysku i w pamięci RAM.
integer (int , int4 ) zajmuje 4 bajty na dysku i w pamięci RAM.
bigint (int8 ) zajmuje 8 bajtów na dysku i w pamięci RAM.

Szczegóły dotyczące typów liczbowych w Postgresie w instrukcji.

Istnieje wiele innych czynników wpływających na rzeczywistą wielkość pamięci. Musisz wziąć pod uwagę narzut strony i krotki, wyrównanie i dopełnienie, możliwe wartości NULL, indeksowanie ...

Szczegóły:

Istnieje pewien potencjał do optymalizacji, ale zazwyczaj niewiele. Najlepiej skoncentruj się na wyborze odpowiedniego typu danych dla swoich danych i nie martw się o drobne różnice w pamięci i wydajności, chyba że wiesz dokładnie, co robisz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. HTTP Status 500 - java.lang.NoClassDefFoundError:java/time/temporal/TemporalField podczas uruchamiania aplikacji na OpenShift

  2. PostgreSQL - utwórz nową bazę danych za pomocą interfejsu użytkownika pgAdmin

  3. Mapowanie enum Java na enum Postgres za pomocą EclipseLink

  4. Skonfiguruj zdalne połączenie RubyMine z Heroku PostgreSQL

  5. Spring Boot - To samo repozytorium i ta sama jednostka dla różnych baz danych