sql >> Databasteknik >  >> RDS >> PostgreSQL

sträng vs text med Rails 3.2.* och Postgres - ska jag alltid bara använda text

Från den fina manualen :

De tre typerna de pratar om är char(n) , varchar(n) och text . Tipset är i huvudsak att säga att:

  • char(n) är den långsammaste på grund av blank stoppning och måste kontrollera längdbegränsningen.
  • varchar(n) är vanligtvis i mitten eftersom längdbegränsningen måste kontrolleras.
  • text (AKA varchar utan n ) är vanligtvis snabbast eftersom det inte finns några extra kostnader.

Förutom den tomma stoppningen för char(n) och längdkontroll för char(n) och varchar(n) , de hanteras alla på samma sätt bakom kulisserna.

Med ActiveRecord, t.string är en varchar och t.text är text . Om du inte har några hårda längdbegränsningar på dina strängar, använd bara t.text med PostgreSQL.




  1. MySQL SELECT från flera tabeller, flera GROUP BY och group_concat?

  2. MySQL LOAD DATA INFILE:fungerar, men oförutsägbar linjeavslutare

  3. KONTROLLERA BEGRÄNSNING för strängen för att endast innehålla siffror. (Oracle SQL)

  4. Hur fungerar SQL-injektion och hur skyddar jag mig mot det