3 votes

Utiliser unicode(255) pour tous les types de colonnes dans postgres ?

Je ne comprends pas quand il faut utiliser les différentes longueurs pour appeler l'unicode. J'ai utilisé types.Unicode(255) pour toutes mes colonnes dans ma base de données postgres, comme l'adresse, le nom, la description, etc. Est-ce imprudent de procéder ainsi ?

4voto

Je ne suis pas sûr de ce que vous voulez dire par "unicode(255)". - il n'existe pas de tel type de données dans PostgreSQL :

# create table q (x unicode(255));
ERROR:  type "unicode" does not exist
LINE 1: create table q (x unicode(255));
                          ^

Vous vouliez peut-être dire varchar(255). Dans ce cas, laissez-moi vous demander : que se passera-t-il si vous avez besoin d'une description de 320 caractères ?

Personnellement, je préfère utiliser le type de données TEXT, car les bases de données ne se soucient généralement pas de savoir si la chaîne de caractères compte 100 ou 1000 caractères.

2voto

xzilla Points 510

Il est utile d'ajouter à la réponse de depesz qu'il n'y a pas de pénalités de performance pour l'utilisation du type texte plutôt que des types de données varchar(n) ou char(n), donc à moins que vous ayez besoin de fixer une limite stricte pour des raisons professionnelles, utilisez simplement le texte. Même dans ce cas, utilisez le texte avec une contrainte de longueur :-)

0voto

Il existe un certain nombre de raisons d'utiliser des types de données appropriés dans vos bases de données. Performance (pdf) est la plus grande préoccupation, mais il y a aussi d'autres raisons. Par exemple :

  • Les dates ne seront pas triées correctement à moins qu'elles ne soient un type de données de date (généralement un timestamp unix).
  • Vous ne pouvez pas utiliser d'opérateurs mathématiques sur des nombres stockés sous forme de chaînes de caractères.
  • "vrai" en tant que chaîne n'est pas égal au booléen vrai

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X