sql >> Database teknologi >  >> RDS >> PostgreSQL

streng vs tekst ved hjælp af Rails 3.2.* og Postgres - skal jeg altid bare bruge tekst

Fra den fine manual :

De tre typer, de taler om, er char(n) , varchar(n) og text . Tip er i bund og grund at sige, at:

  • char(n) er den langsomste på grund af blank polstring og at skulle kontrollere længdebegrænsningen.
  • varchar(n) er normalt i midten, fordi længdebegrænsningen skal kontrolleres.
  • text (AKA varchar uden n ) er normalt den hurtigste, fordi der ikke er nogen ekstra overhead.

Bortset fra den tomme polstring for char(n) og længdekontrol for char(n) og varchar(n) , de bliver alle håndteret ens bag kulisserne.

Med ActiveRecord, t.string er en varchar og t.text er text . Hvis du ikke har nogen hårde længdebegrænsninger på dine strenge, så brug bare t.text med PostgreSQL.




  1. Sådan begrænser du SHOW TABLES-forespørgsel

  2. Hvordan kan jeg rydde skærmen i MySQL-konsollen?

  3. SqlParameter tillader ikke tabelnavn - andre muligheder uden sql-injektionsangreb?

  4. Fejlfinding af SQL Server-transaktionelle replikeringsproblemer