Unterschied zwischen Zeichenkette und Text in Schienen?
Mache ich eine neue web-app mit Schienen, und Frage mich, was ist der Unterschied zwischen string
und text
? Und wenn, sollte jeder verwendet werden?
InformationsquelleAutor der Frage Mo. | 2010-07-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Unterschied beruht, wie das symbol umgewandelt, in Ihre jeweiligen Spalte geben Sie in der Abfrage-Sprache.
Referenz:
Wann sollte jeweils verwendet werden?
Als Allgemeine Faustregel gilt, verwenden Sie
:string
für kurze text-Eingabe (Benutzername, email, Passwort, Titel, etc.) und verwenden:text
für mehr erwartete Eingabe, wie Beschreibungen, Kommentar-Inhalt, etc.InformationsquelleAutor der Antwort TJ Koblentz
Wenn Sie mit postgres verwenden Sie text, wo immer Sie können, es sei denn, Sie haben eine Größe von constraint-da gibt es keine Leistungseinbußen für text vs varchar
PostsgreSQL Handbuch
InformationsquelleAutor der Antwort Omar Qureshi
String übersetzt "Varchar" in Ihre Datenbank, während der text übersetzt heißt "text". Ein varchar kann enthalten weit weniger Elemente, ein text kann (fast) jeder Länge.
Sich für eine in-depth-Analyse mit guten Referenzen überprüfen http://www.pythian.com/news/7129/text-vs-varchar/
Edit: Einige Datenbank-engines laden kann
varchar
in eine gehen, aber speichern Sie text und blob) außerhalb der Tabelle. EinSELECT name, amount FROM products
könnte, werden sehr viel langsamer, wenn mittext
fürname
als wenn Sievarchar
. Und da Schienen, standardmäßig lädt Daten mitSELECT * FROM...
Ihre text-Spalten geladen werden. Dies wird wohl nie ein echtes problem sein, in Ihrer oder meiner app, aber (Vorzeitige Optimierung ist ...). Aber zu wissen, dass der text nicht immer "frei" ist gut zu wissen.InformationsquelleAutor der Antwort berkes
Wie oben erklärt nicht nur den db-Datentyp wird auch Auswirkungen auf die Ansicht, die generiert wird, wenn Sie sind das Gerüst.
string generiert einen text text_field generiert eine text_area
InformationsquelleAutor der Antwort ajet
String, wenn die Größe fest ist und die kleinen und text, wenn es variabel ist und große.
Dies ist wichtig, weil die Schrift ist viel größer als strings. Es enthält eine Menge mehr Kilobyte.
Also für kleine Flächen verwenden Sie stets Zeichenfolge(varchar). Felder wie. Vorname, Anmeldename, E-Mail, Betreff (des einen Artikel oder Beitrag)
und das Beispiel von Texten: Inhalt/body der einen Beitrag oder einen Artikel. Felder, die für Absätze etc
String Größe 1 bis 255 (Standard = 255)
Text Größe 1 bis 4294967296 (Standard = 65536)2
InformationsquelleAutor der Antwort Gurudath BN
Zeichenfolge verwenden, für kürzere Feld, wie Namen, Adresse, Telefon, Unternehmen
Text verwenden für größere Inhalte, Kommentare, Inhalte, Absätze.
Meine Regel, wenn es etwas, das mehr ist als eine Zeile, die ich in der Regel gehen für text, wenn es ein kurzes 2-6 Worte, ich gehe für string.
Die offizielle Regel ist 255 für eine Zeichenfolge. Wenn Ihr also einen string mit mehr als 255 Zeichen gehen für text.
InformationsquelleAutor der Antwort user2012677