[ruby-on-rails] Différence entre la chaîne et le texte dans les rails?



2 Answers

Si vous utilisez postgres, utilisez du texte partout où vous le pouvez, sauf si vous avez une contrainte de taille car il n'y a pas de pénalité de performance pour le texte vs varchar

Il n'y a pas de différence de performance entre ces trois types, hormis l'augmentation de l'espace de stockage lors de l'utilisation du type padded vierge, et quelques cycles CPU supplémentaires pour vérifier la longueur lors du stockage dans une colonne contrainte par la longueur. Alors que character (n) a des avantages de performance dans d'autres systèmes de base de données, il n'y a pas de tels avantages dans PostgreSQL; en fait, le caractère (n) est généralement le plus lent des trois en raison de ses coûts de stockage supplémentaires. Dans la plupart des situations, le texte ou le caractère qui varie doit être utilisé à la place

Manuel de PostgreSQL

Question

Je fais une nouvelle application web en utilisant Rails, et je me demandais, quelle est la différence entre la string et le text ? Et quand faut-il les utiliser tous les deux?




Comme expliqué ci-dessus, non seulement le type de données db, il affectera également la vue qui sera générée si vous êtes échafaudage. string va générer un texte text_field va générer un text_area




Utilisez une chaîne pour un champ plus court, comme les noms, adresse, téléphone, compagnie

Utilisez le texte pour un contenu plus large, des commentaires, du contenu, des paragraphes.

Ma règle générale, si c'est quelque chose qui est plus d'une ligne, je vais généralement pour le texte, si c'est un court 2-6 mots, je vais pour la chaîne.

La règle officielle est 255 pour une chaîne. Donc, si votre chaîne contient plus de 255 caractères, optez pour le texte.




Related