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

Rozdíl mezi textem a varcharem (různé znaky)

Není v tom žádný rozdíl, pod kapotou je vše varlena (pole s proměnnou délkou).

Podívejte se na tento článek od Depesze:http://www.depesz.com/index.php/2010/03/02/charx-vs-varcharx-vs-varchar-vs-text/

Pár zajímavostí:

Abych to všechno shrnul:

  • char(n) – zabírá příliš mnoho místa při práci s hodnotami kratšími než n (vloží je na n ) a může vést k jemným chybám kvůli přidávání koncových mezer a navíc je problematické změnit limit
  • varchar(n) – je problematické změnit limit v živém prostředí (vyžaduje exkluzivní zámek při změně tabulky)
  • varchar – stejně jako text
  • text – pro mě vítěz – nad (n) datovými typy, protože postrádá jejich problémy, a nad varchar – protože má odlišný název

Článek provádí podrobné testování, aby ukázal, že výkon insertů a výběrů pro všechny 4 datové typy je podobný. V případě potřeby se také podrobně podívá na alternativní způsoby omezení délky. Omezení nebo domény založené na funkcích poskytují výhodu okamžitého zvýšení omezení délky a na základě toho, že snížení omezení délky řetězce je vzácné, depesz dochází k závěru, že jedna z nich je obvykle nejlepší volbou pro omezení délky.



  1. Oracle XML:Přeskočit Neexistující uzel

  2. Nelze hromadně načíst. Chybový kód operačního systému 5 (Přístup odepřen.)

  3. Nested Loop Join v Oracle 11g

  4. Jak monitorovat metriky HAProxy pomocí ClusterControl