PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

string vs text mit Rails 3.2.* und Postgres - sollte ich immer nur text verwenden

Aus dem feinen Handbuch :

Die drei Typen, über die sie sprechen, sind char(n) , varchar(n) , und text . Der Tipp besagt im Wesentlichen Folgendes:

  • char(n) ist am langsamsten, da Leerzeichen aufgefüllt werden und die Längenbeschränkung überprüft werden muss.
  • varchar(n) ist normalerweise in der Mitte, da die Längenbeschränkung überprüft werden muss.
  • text (AKA varchar ohne n ) ist in der Regel am schnellsten, da kein zusätzlicher Overhead anfällt.

Abgesehen von der Leerzeichenfüllung für char(n) und Längenprüfung für char(n) und varchar(n) , sie werden hinter den Kulissen alle gleich behandelt.

Bei ActiveRecord t.string ist ein varchar und t.text ist text . Wenn Sie keine strengen Längenbeschränkungen für Ihre Zeichenfolgen haben, verwenden Sie einfach t.text mit PostgreSQL.