Le type de données d'une colonne dans une table existante est de type Char (4). Maintenant, y a-t-il un impact en sélectionnant cette ligne si j'augmente la longueur de la colonne pour dire 10.Impact pour augmenter la longueur de colonne d'une table existante
Répondre
Pourquoi pas varchar2 (10)? Utilisez-vous vraiment la chaîne entière pour chaque enregistrement?
Je crois que lorsque vous augmentez un champ char, des espaces supplémentaires sont ajoutés pour remplir ceux qui ne sont pas déjà remplis, dans certaines bases de données sinon toutes.
Cela peut avoir un impact sur certains programmes qui n'attendaient pas ce comportement et peut entraîner des problèmes de sortie si des espaces supplémentaires ne sont pas supprimés.
Je suppose que les fonctions de type sous-chaîne (et celles qui dépendent de la longueur de la chaîne) peuvent également être affectées car la longueur de votre chaîne a maintenant changé.
Dans le vide, il ne devrait pas y avoir d'impact réel de l'expansion du type de données VARCHAR2 sur une colonne. Contrairement à CHAR qui sont remplis à droite avec des blancs, une taille plus grande de VARCHAR2 ne modifiera sensiblement aucun enregistrement existant. Cependant, comme d'autres l'ont mentionné, ce que nous ne pouvons pas prédire, c'est ce qui se passe dans n'importe quelle couche de la base de données qui peut dépendre de la taille de la colonne, mais je suis sûr que vous pourriez répondre mieux que nous.
Attention, il n'est pas si simple de redimensionner une colonne VARCHAR2. Même si vos données sont dans les nouvelles limites, Oracle insistera pour que la colonne soit vide. Le mieux est d'exporter les lignes et de reconstruire la table ou de mélanger les colonnes (créer une nouvelle colonne, migrer des valeurs, supprimer une ancienne colonne).
« Lors de la sélection de cette ligne »
Dans ces cas, le seul impact que vous pourriez souffrir est troncature inattendu. Je me souviens avoir demandé une fois au spécialiste DB2 de mon entreprise ce que signifiait la valeur de l'indicateur "-2". Il ne savait pas. Mais si vous avez une requête n'importe où qui implique "LENGTH (yourcolumnname)", et il s'avère que votre code repose sur cette invocation LENGTH() pour ne jamais retourner quelque chose> 4, alors bien sûr vous êtes en difficulté.
- 1. Modifier une longueur de colonne
- 2. ActiveRecord Joindre la table pour la base de données existante
- 3. Ajout de la valeur par défaut à la colonne existante
- 4. Longueur de données dans la colonne ntext?
- 5. Augmenter la valeur d'une colonne d'identité dans SQL Server sans supprimer et recréer la table
- 6. Définir une colonne existante de la table MS SQL comme NOT NULL
- 7. Comment modifier le type de données de colonne sans affecter la largeur de colonne existante
- 8. Ajouter une colonne id et la remplir dans une table existante dans Rails?
- 9. Quelle bonne longueur d'index pour une colonne de texte MySQL?
- 10. Existe-t-il une méthode pour copier une nouvelle colonne dans une table existante et copier les informations de colonne d'une autre table dans Oracle?
- 11. Linq to SQL - Longueur sous-jacente de la colonne
- 12. largeur de la colonne de table Réglage
- 13. Ajouter une colonne à une table existante et les numéroter de manière unique
- 14. Modèle d'une table existante dans Rails 2
- 15. Ajout d'un datarow d'une table existante à une nouvelle table
- 16. Comment augmenter la longueur autorisée du nom décoré dans VC9 (MSVC 2008)?
- 17. MySQL colonne ENUM de la colonne anothertable
- 18. JavaDB: Est-il possible de modifier le décalage automatique de la table existante?
- 19. cacher la colonne de la table avec codebehind
- 20. Entity Framework - Héritage table par type - Base de données existante
- 21. Comment insérer une vue dans une cellule de table existante?
- 22. SQL Server: Copie de la colonne dans la table
- 23. Remplir toute la colonne de la table SQL
- 24. Comment hors la colonne IDENTITY de la table dans TSQL
- 25. Longueur de la fraction
- 26. Comment augmenter la taille du pool de connexion pour Twisted?
- 27. Comment augmenter la largeur d'une barre de défilement pour DataGridView?
- 28. Choix de la colonne de l'autre table/objet
- 29. Mise à niveau d'une table de base de données pour ajouter une nouvelle colonne
- 30. Rails - Colonne d'appel de la table de jointure
Ok. Même si je le change en Varchar (10), c'est bien. Je me demandais juste s'il y aura un effet sur l'utilisation de fns construit dans Oracle comme substr(), instr(), etc. Je ne vois aucun impact. Mais je voulais confirmer avant de donner un feu vert. –
Je serais choqué si vous pouviez mesurer n'importe quel impact du tout. Juste un appel ... Le roll-forward est facile, le roll-back, pas autant. –
Tout à fait d'accord. ;-) Merci beaucoup l'homme. :-) –