Je l'ai souvent vu ces trois défauts de conception de schéma causant des problèmes:
- Un champ varchar (n) a été créé avec n seulement assez grand pour l'échantillon de données que le concepteur avait tiré dans, pas population globale: amende dans les tests unitaires, troncatures silencieuses dans le monde réel.
- Un varchar (n) utilisé lorsque la taille des données est fixe. Cela masque les bogues de données.
- Un caractère (n) utilisé pour les données de longueur variable. Cela améliore les performances (en permettant aux données de s'asseoir en ligne dans la rangée sur le disque, mais tout le code client (et divers procs/vues stockés) doivent faire face aux problèmes de remplissage des espaces (et souvent ils ne le font pas). rembourrage peut être difficile Whitespace à traquer, car les espaces ne se présentent pas trop bien, et différentes bibliothèques/clients sql les supprimer.
Je ne l'ai jamais vu un bien intentionné (c.-à-pas seulement en utilisant varchar (255 Pour tous les cols, mais une sélection conservatrice de la mauvaise taille de données provoque des problèmes de performance significatifs Par facteur significatif, je veux dire facteur 10. Je vois régulièrement des défauts de conception algorithmique (indices manquants, envoi trop de données sur le fil, etc.
Quelle est votre targe? t plateforme? Combien d'enregistrements avez-vous l'intention de stocker? Des informations comme celles-ci incluses dans votre question peuvent aider à guider une réponse appropriée. –
Je n'ai pas un besoin spécifique (encore, pourrait avoir bientôt) je veux juste apprendre –