IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration Oracle Discussion :

La taille des noms d'objet influe-t-elle sur les performances ? [12c]


Sujet :

Administration Oracle

  1. #1
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 789
    Points
    30 789
    Par défaut La taille des noms d'objet influe-t-elle sur les performances ?
    Bonjour,

    Dans le nouvel environnement professionnel dans lequel j'officie, les DBA imposent que les noms d'objet (table, colonne, contrainte...) ne dépassent pas 12 caractères pour, selon eux, des raisons de performances.

    Cette règle est-elle fondée ou simplement la conservation d'une limite présente dans une version obsolète d'Oracle par des personnes qui ont omis de faire évoluer leurs connaissances au fur et à mesure des migrations de version ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  2. #2
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Alors là, je tombe des nues!
    Je n'ai jamais jamais jamais lu quoi que ce soit là-dessus et, crois-moi, des bouquins sur Oracle j'en ai.

    C'est d'autant plus surprenant cette remarque que depuis Oracle 12.2 les noms d'objets peuvent aller jusqu'à 128 octets (donc 128 caractères ASCII codés sur un octet). Et avant, la limite était à 30 octets je crois.

    Peux-tu demander plus de précisions à tes amis DBA ou une page web expliquant ceci?
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 789
    Points
    30 789
    Par défaut
    Tu confirmes ce que je pensais
    Je crains que la réponse soit "parce que c'est la règle et on ne la change pas"
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 761
    Points : 52 547
    Points
    52 547
    Billets dans le blog
    5
    Par défaut
    Cela fait partie des mythes et autres croyance populaires que l'on voit régulièrement au sujet des SGBD pour lequel la connaissance est en perdition...

    Les objets dans un SGBDR sont identifié par un id de taille fixe de manière interne. Le nom qu'il soit long ou court est traduit en id en exécutant une requête système pour les nom des tables et des objets liés (colonne par exemple).
    Dès lors il n'y a aucune différence de performances sur le plan d'exécution.

    La seule chose qui pourrait impacter de manière minime (et là j'insiste sur minime, minime, minime ... 3 fois !) c'est que le plan de requête étant mis en cache il est plus long avec des noms longs qu'avec des noms court... Donc, si votre RAM est très, très, très (3 fois encore) petite, alors il se pourrait que le fait d'avoir quelques octets supplémentaires du fait de ces longueurs fasse dégager du cache quelques pages de tables...
    Admettons que les noms longs soient d'environ 32 caractères au lieu de 12, cela fait donc 20 octets de plus. Admettons que chaque requête utilise en moyenne 30 noms longs au lieu de 12. Cela fait 600 octets de plus. admettons qu'il y ait en cache 25 000 plans, cela ferait 15 Mo de données des plans stockées en supplément. Sur un serveur ayant 4 go de RAM (serveur du pauvre pour sa cave à vin...) Cela représente donc 0,375 % de RAM volé par les noms longs au détriment du cache des données par exemple...
    Oui, alors on peut parler d'une probable perte de performances, mais là il faudrait un microscope électronique pour la débusquer !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Bon courage pour nommer efficacement une contrainte de clef étrangère dans 12 caractères (je souffrais déjà avec 30 à l'époque).
    À mon avis vos DBA-s ont 30 ans de carrière sur des très vieux ERP.
    Pas simple de changer ce genre de mentalité, bon courage !

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 789
    Points
    30 789
    Par défaut
    Citation Envoyé par Waldar Voir le message
    À mon avis vos DBA-s ont 30 ans de carrière sur des très vieux ERP.
    Gagné

    Je ne vais pas me battre avec eux. Je ne suis pas là pour longtemps.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  7. #7
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Toutes mes condoléances, bosser avec de vieux dba INTERNES qui ne se sont jamais remis à la page, qui n'ont jamais lu un bouquin... ne te prends pas la tête avec ça et laisse couler.

    Bonne chance pour ta mission.
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  8. #8
    Membre chevronné
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 137
    Points : 1 917
    Points
    1 917
    Par défaut
    lol, première fois que j'entends ça aussi. Je ne le connaissais pas ce mythe là. Remarque chez Generix ça aurait été des audacieux, car eux aiment les noms de table limité à 3 caractères et les noms de colonnes limité à 6.

  9. #9
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    J'ai connu un client qui utilisait uniquement des trigrammes pour ses noms de tables, genre UMO_TES_PRA_WWX : Dieu merci, il n'allait pas jusqu'à la limite des 30 caractères de la 11g.
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Delphi 10.1 - taille des images et objets
    Par declencher dans le forum Delphi
    Réponses: 3
    Dernier message: 15/04/2017, 11h41
  2. Réponses: 14
    Dernier message: 04/10/2012, 13h14
  3. Récupérer des noms de fichier dans une table pour les placer en masque du tfilelist
    Par charliplanete dans le forum Développement de jobs
    Réponses: 11
    Dernier message: 24/08/2011, 17h16
  4. Problème de casse des noms d'objets
    Par Lucas Panny dans le forum SQL
    Réponses: 18
    Dernier message: 10/06/2008, 13h51
  5. Comment avoir des noms d'objets différents ?
    Par adn013 dans le forum Langage
    Réponses: 6
    Dernier message: 11/06/2007, 15h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo