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

Różnica między tekstem a varchar (różne znaki)

Nie ma różnicy, pod maską wszystko jest varlena (tablica o zmiennej długości).

Sprawdź ten artykuł z Depesz:http://www.depesz.com/index.php/2010/03/02/charx-vs-varcharx-vs-varchar-vs-text/

Kilka najważniejszych informacji:

Podsumowując:

  • char(n) – zajmuje zbyt dużo miejsca, gdy mamy do czynienia z wartościami krótszymi niż n (dopełnia je do n ) i może prowadzić do subtelnych błędów z powodu dodawania spacji końcowych, a zmiana limitu jest problematyczna
  • varchar(n) – problematyczna jest zmiana limitu w środowisku na żywo (wymaga blokady na wyłączność podczas zmiany tabeli)
  • varchar – tak jak tekst
  • tekst – dla mnie zwycięzca – ponad (n) typów danych, bo nie ma ich problemów, a ponad varchar – bo ma odrębną nazwę

Artykuł przeprowadza szczegółowe testy, aby pokazać, że wydajność wstawek i selekcji dla wszystkich 4 typów danych jest podobna. W razie potrzeby szczegółowo przygląda się również alternatywnym sposobom ograniczania długości. Ograniczenia lub domeny oparte na funkcjach zapewniają przewagę polegającą na natychmiastowym zwiększeniu ograniczenia długości, a biorąc pod uwagę, że zmniejszenie ograniczenia długości łańcucha jest rzadkie, depesz dochodzi do wniosku, że jedno z nich jest zwykle najlepszym wyborem dla ograniczenia długości.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zaznaczanie wszystkich rekordów za pomocą zapytania SQL LIMIT i OFFSET

  2. Jak używać identyfikatorów UUID w SQLAlchemy?

  3. Jak używać funkcji podciągów w PostgreSQL i Redshift

  4. Jak zmienić kolumnę PG na NULLABLE TRUE?

  5. BŁĄD:funkcje w wyrażeniu indeksu muszą być oznaczone jako IMMUTABLE w Postgresie