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

MySQL Discussion :

Avoir deux index sur le même champ : erreur ou subtilité ?


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 466
    Par défaut Avoir deux index sur le même champ : erreur ou subtilité ?
    bonjour,

    En analysant une table qui contient très peu de données, je m’aperçois qu'il y a un index en plus que celui déjà présent sur la clé primaire de même colonne !

    Nom : mysql_2indexes.png
Affichages : 199
Taille : 16,4 Ko

    Je m'interroge.... erreur de restoration, vieux test ou bien il ya une subtilité que je ne comprends pas.
    La base est en innodb, il n'y a que 70 lignes dedans, donc ça m'interpelle....

    qu'en pensez-vous ?

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 323
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 323
    Billets dans le blog
    17
    Par défaut
    Tu peux supprimer l'index formation_cursus.

    Son nom laisse penser qu'il s'agit d'une ancienne colonne "formation_cursus" déjà indexée, renommée "forma_id" et promue clef primaire.

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 600
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 600
    Billets dans le blog
    10
    Par défaut
    À partir du moment où il existe un index unique sur une colonne (et non pas un champ) ou sur un groupe de colonnes, la contrainte unique s'applique, du coup, l'index non unique redondant est à détruire.

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

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 466
    Par défaut
    bonjour,

    merci pour vos suggestions, c'est supprimé.

    Par contre j'ai une question supplémentaire liée : pourquoi MySQL (et peut-être les autres sgdb) autorisent 2 fois le même index sur la même colonne. Quel intérêt de laisser passer cela ?

    il doit bien y avoir une raison mais je ne la trouve pas...

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    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 998
    Billets dans le blog
    6
    Par défaut
    Les deux index étaient différents. Mais MySQL ne gère pas ce genre de cas de figure ou 2 index seraient strictement identiques contrairement à Oracle par exemple.... Mais c'est pas le même prix !!!!

    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/ * * * * *

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/03/2012, 17h02
  2. [SQL Serveur 2005] Deux index sur le même champ
    Par Griswold dans le forum Développement
    Réponses: 3
    Dernier message: 28/06/2010, 18h41
  3. Réponses: 5
    Dernier message: 27/05/2010, 08h31
  4. Zend_auth - Avoir deux authentification sur deux appli Zend
    Par Jonathan.b dans le forum Zend_Acl & Zend_Auth
    Réponses: 16
    Dernier message: 07/08/2008, 21h10
  5. Avoir deux colorbars sur un meme graphique
    Par masterced32 dans le forum MATLAB
    Réponses: 1
    Dernier message: 13/07/2007, 10h51

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