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 :

Choix des index dans tables sans clés étrangères ?


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    334
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 334
    Points : 123
    Points
    123
    Par défaut Choix des index dans tables sans clés étrangères ?
    Bonjour à tous et meilleurs voeux pour 2008 !!!

    Je suis sous MySQL 5.0 et développe une table où il va y avoir pas mal d'entrées.

    Je suis dans un cas de figure ou plusieurs tables ont des colonnes en commun. Certaines tables ont des clés étrangères, d'autres pas (LOAD DATA INFILE pour la Table_B ci-dessous).

    Ma question est la suivante :

    Soit 3 tables ayant des données en commun mais pas de clés étrangères :

    Table_A
    idtableA INT PK,
    col1 INT,
    col2 INT

    Table_B
    idtableB INT PK,
    col1 INT,
    col2 INT
    col3 TEXT

    Table_C
    idtableC INT PK,
    col3 TEXT,
    col4 INT

    J'ai donc col1 et col2 communes à Table_A et Table_B et col3 commune à Table_B et Table_C.

    Je veux insérer des données dans une autre table avec la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT INTO Table_D SELECT colonnes FROM Table_A, Table_B, Table_C WHERE col1 = col1 AND col2 = col2 AND col3 = col3
    Schématiquement, je passe les erreurs d'ambiguité si j'exécute ce code

    Je voudrais savoir comment choisir des index dans ce cas de figure.

    Plus globalement, auriez-vous un conseil de lecture quant au choix des index en général ?

    En vous remerciant,

    C. Tobini

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 902
    Points : 6 026
    Points
    6 026
    Par défaut
    Il est bon d'indexer les colonnes citées dans la clause WHERE ou dans un JOIN
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    334
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 334
    Points : 123
    Points
    123
    Par défaut
    Bonjour et merci de la réponse, c'est chose faite.

    Petite question: j'ai un champ texte avec une contrainte UNIQUE, puis-je être tranquille sur le fait que cette colonne est indexée ?

    Petite question (bis): imaginons qu'une table gère des coordonnées x, y. Afin de retrouver rapidement telle ou telle coordonnée (sachant qu'elles fonctionnent généralement par 2 ) y aurait-il une raison de créer un index coord_indx(x, y) ou plutôt 2 index coord_x_indx(x) et coord_y_indx(y) ?

    Merci,

    C. Tobini

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/05/2015, 21h00
  2. MySQL : insertion dans table avec clés étrangères
    Par chatmi dans le forum Requêtes
    Réponses: 7
    Dernier message: 22/06/2012, 15h36
  3. Des tables sans clés étrangères ni clés primaires
    Par tomyy dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 04/09/2009, 02h50
  4. Réponses: 4
    Dernier message: 21/05/2008, 11h56
  5. changer l'ordre des dates dans table
    Par lordyan dans le forum Requêtes
    Réponses: 11
    Dernier message: 14/01/2005, 11h12

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