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
    Ingénieur d'études décisionnel
    Inscrit en
    mai 2002
    Messages
    8 729
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 8 729
    Points : 29 108
    Points
    29 108
    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 chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    avril 2013
    Messages
    1 649
    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 649
    Points : 1 995
    Points
    1 995
    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
    Ingénieur d'études décisionnel
    Inscrit en
    mai 2002
    Messages
    8 729
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 8 729
    Points : 29 108
    Points
    29 108
    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
    20 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : mai 2002
    Messages : 20 718
    Points : 49 084
    Points
    49 084
    Billets dans le blog
    1
    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

    Homme Profil pro
    Consultant Teradata
    Inscrit en
    septembre 2008
    Messages
    8 118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Teradata

    Informations forums :
    Inscription : septembre 2008
    Messages : 8 118
    Points : 16 348
    Points
    16 348
    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
    Ingénieur d'études décisionnel
    Inscrit en
    mai 2002
    Messages
    8 729
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 8 729
    Points : 29 108
    Points
    29 108
    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 chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    avril 2013
    Messages
    1 649
    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 649
    Points : 1 995
    Points
    1 995
    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 éprouvé
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    décembre 2019
    Messages
    730
    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 : 730
    Points : 1 171
    Points
    1 171
    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 chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    avril 2013
    Messages
    1 649
    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 649
    Points : 1 995
    Points
    1 995
    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