Beaucoup de schémas de base de données semblent suivre la norme suivante:Pourquoi les longueurs de champs SQL sont toujours (2^n) -1 à moins de 127?
(2^n) -1 pour les grands champs:
varchar(511)
varchar(255)
varchar(127)
... puis (2^n) pour les plus petits
varchar(64)
varchar(32)
varchar(16)
varchar(8)
Je comprends pourquoi le nombre de (2^n) -1 sont utilisés, ce que je ne comprends pas pourquoi il est nécessaire de poursuivre la tendance à la baisse des petits champs.
E.g.
varchar(63)
varchar(31)
varchar(15)
varchar(7)
Y at-il une raison à cela ou est-ce juste que les rendements ont diminué trop loin?
Pour le 2^n -1 Problème: De nombreux langages de programmation utilisent un octet nul pour terminer une valeur de chaîne (Pascal était celui qui ne le fait pas, mais stocké la longueur au premier octet de la chaîne), vous avez donc besoin un octet de plus pour stocker la chaîne. Donc, cela pourrait être une raison pour en utiliser un de moins, aussi. – WegDamit