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

Requêtes MySQL Discussion :

quel est l'impact d'un champ NOT NULL sur un index et la vitesse de traitement ?


Sujet :

Requêtes MySQL

  1. #1
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 433
    Points : 881
    Points
    881
    Par défaut quel est l'impact d'un champ NOT NULL sur un index et la vitesse de traitement ?
    bonjour,

    si sur un champs, j'applique la propriété NOT NULL, est-ce que il y aura un gain remarquable dans la taille de l'index et dans le traitement d'une requête dont le champs est un critère actif (dans le where ou dans un having) ?

    je travaille sur une grosse table myisam de 1Go de plusieurs milliers d'enregistrements.

    ou bien est-ce que ça change vraiment queudal ?

    bien à vous

  2. #2
    Expert éminent sénior
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 802
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 802
    Points : 34 066
    Points
    34 066
    Billets dans le blog
    14
    Par défaut
    Je ne suis pas hyper spécialiste de la technique interne des SGBD mais je vais risquer une réponse, quitte à en apprendre en étant contredit par plus expert que moi.
    Citation Envoyé par Michael REMY Voir le message
    si sur un champs, j'applique la propriété NOT NULL, est-ce que il y aura un gain remarquable dans la taille de l'index et dans le traitement d'une requête dont le champs est un critère actif (dans le where ou dans un having) ?
    NOT NULL est une contrainte qui est examinée lors de l'insertion ou la modification d'une ligne dans la table. Sur ce plan, cela n'a donc aucun impact sur les index ou les critères de restriction sur les données dans les requêtes.
    Par contre, s'il y a des NULL dans une colonne indexée, chaque NULL étant considéré comme différent, cela risque de grossir l'index et pénaliser la restriction sur les données.

    je travaille sur une grosse table myisam de 1Go de plusieurs milliers d'enregistrements.
    1 Go pour seulement plusieurs milliers de lignes (et pas d'enregistrements) ? Les lignes sont grosses alors !
    Tu aurais dit plusieurs millions ou plusieurs centaines de milliers de lignes, j'aurais trouvé ça normal. Là j'ai des doutes sur la composition de la table, et plus généralement sur l'architecture de la BDD !
    On peut avoir la description de la table ?

Discussions similaires

  1. [Lazarus] Zeos + PostgreSQL + champ NOT NULL
    Par Invité dans le forum Lazarus
    Réponses: 2
    Dernier message: 01/08/2011, 20h23
  2. Quel est l'impact lors d'une montée de version MySQL
    Par fgalves dans le forum Administration
    Réponses: 1
    Dernier message: 28/11/2008, 12h41
  3. update ou champs not NULL
    Par magic charly dans le forum Oracle
    Réponses: 2
    Dernier message: 19/02/2007, 17h08
  4. problème de champs not null qui sont marqués null à la création
    Par Elianora la blanche dans le forum Outils
    Réponses: 6
    Dernier message: 02/02/2007, 10h33
  5. [TStringField] inserer dans un champs NOT NULL une chaine vi
    Par kase74 dans le forum Bases de données
    Réponses: 2
    Dernier message: 16/09/2005, 15h48

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