PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

performance type varchar(1) ou smallint pour stocker le statut Postgres

À mon avis, vous menez le mauvais combat. Vous vous inquiétez de l'impact sur les performances du stockage d'un nombre entier au lieu d'un seul champ de caractère, ce qui, à mon avis, est une réflexion à courte vue. L'impact réel sur les performances d'un entier par rapport à un seul caractère est insignifiant, et je doute que cela puisse être mesuré de manière significative. D'après mon expérience, il est plus important de réduire la charge cognitive sur les développeurs et les utilisateurs du système, et il est donc préférable d'utiliser des champs de caractères suffisamment longs pour contenir une description raisonnable de l'état au lieu de valeurs numériques ou d'abréviations à caractère unique. Ne pas avoir à se souvenir de ce que signifient 1, 2, 'A' ou 'X' est très utile. Au lieu de ces valeurs abrégées, je suggère d'utiliser des valeurs faciles à comprendre telles que 'READY', 'ACTIVE', 'PROCESSED', 'CANCELLED', etc.

Quant à la deuxième partie de la question - pas vraiment. Il peut y avoir un temps insignifiant pour déplacer la chaîne la plus longue, mais c'est insignifiant à moins que vous ne parliez de millions de valeurs.

Bonne chance.