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 :

Nombre max d'index sous MYSQL


Sujet :

Requêtes MySQL

  1. #1
    Membre confirmé Avatar de amika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2004
    Messages : 498
    Points : 464
    Points
    464
    Par défaut Nombre max d'index sous MYSQL
    est ce que c'est possible d'indexer une table plus que 64 index ,si oui comment ?

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 414
    Points : 671
    Points
    671
    Par défaut
    mais quel est l'interet hormis de ralentir plus que fortement les mises à jour et insertion de lignes?

  3. #3
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 208
    Points : 218
    Points
    218
    Par défaut
    Salut.

    Si vous avez atteint le maximum il ne reste que 2 solutions que je connaissent:

    1) changer de moteur de table,

    2) changer pour un Système d'Exploitation où MySQL va plus loin.

    Good Luck

  4. #4
    Membre confirmé Avatar de amika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2004
    Messages : 498
    Points : 464
    Points
    464
    Par défaut
    Citation Envoyé par gregory.broissard
    mais quel est l'interet hormis de ralentir plus que fortement les mises à jour et insertion de lignes?
    mais ils accelairent les recherches et mon application est orienté Recherche

    pour chat hotplug : le quel des moteurs gatuits qui suporte ca

  5. #5
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Pour le moteur MyISAM, le nombre maximal d'index par table est de 64 à partir de la 4.1.2 Avant c'était 32. D'expérience, cela peut être changé en recompilant MySQL uniquement.

    Les tables MEMORY peuvent avoir jusqu'à 32 index par table et 16 colonnes par index. Mais je ne sais pas du tout si une recompilation peut changer cela.

    Les tables BDB peuvent avoir jusqu'à 31 index par table

    Les tables EXAMPLE peuvent avoir autant d'index qu'on veut je suppose, puisse qu'il ne sert à rien

    Les tables FEDERATED le nombre d'index dépend du SGBD distant.

    Les tables ISAM peuvent avoir jusqu'à 16 index par table.

    Aucun index pour les tabls CSV.


    J'i recherché dans la doc pour les tables innodb, je n'ai pas trouvé d'informations.

  6. #6
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 208
    Points : 218
    Points
    218
    Par défaut
    Citation Envoyé par amika

    pour chat hotplug : le quel des moteurs gatuits qui suporte ca
    Je ne sais pas. Peut être que la doc le précise...
    Mais avez vous réellement 64 index ? Ou s'agit-il d'un problème d'anciens index mal détruits ?

    Pour le cas où je vous suggère de faire ceci dans l'interface SQL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    OPTIMIZE TABLE mes_tables_indéxées_séparées_par_des_virgules ;

  7. #7
    Membre confirmé Avatar de amika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2004
    Messages : 498
    Points : 464
    Points
    464
    Par défaut
    oui j'ai 64 index .
    que ce quel m'apporte cette ligne :
    OPTIMIZE TABLE mes_tables_indéxées_séparées_par_des_virgules ;

  8. #8
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 414
    Points : 671
    Points
    671
    Par défaut
    et tes 64 index sont utilisés?????

    Tu as fait des explain sur toutes tes requetes de ton applicatif et ca utilise les 64 index! je peux pas y croire

  9. #9
    Membre confirmé Avatar de amika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2004
    Messages : 498
    Points : 464
    Points
    464
    Par défaut
    bien oui sont tous utilisés.

  10. #10
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Peut-on avoir un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    show create table_qui_a_64_index
    Cordialement,

  11. #11
    Membre confirmé Avatar de amika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2004
    Messages : 498
    Points : 464
    Points
    464
    Par défaut
    oui la voila
    CREATE TABLE `matable` (.......

  12. #12
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 414
    Points : 671
    Points
    671
    Par défaut
    tu ne peux pas faire des index composites?

  13. #13
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Optimisation 1 intéressante mais pas forcément pour l'argument de la quantité d'index : Scindez en deux tables cette table. D'un côté tous les champs à longueur dynamique, de l'autre tous les champs à longueurs fixe. Le but est d'obtenir une table de longueur fixe et de monter à 127 index (vous perdez un index par la jointure entre les deux tables)

    Optimisation 2 : Virez les index sur les champs de type TINYINT, peu utile. Un index n'est pas très utile quand il n'y a que peu d'options différentes possibles.

    Optimisation 3 , la meilleure selon moi : Analyser les log des utilisateurs pour connaître les recherches qu'il demande. En effet, ajoutez les index améliore crtes les recherches, mais les insertions seront très lentes et le choix parmi les index va probablement géner un peu...

    Optimisation 4 de gregory.broissard , très bonne aussi : Créez des index composites.

  14. #14
    Membre confirmé Avatar de amika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2004
    Messages : 498
    Points : 464
    Points
    464
    Par défaut
    oui la solution qu'il me reste c'est de faire des index composés mais cette solution n'est pas tjs efficace parce que les champs composant l'index ne sont pas tjs ensemble dans la recherche

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

Discussions similaires

  1. nombre max des tables sous interbase
    Par kroma23 dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/03/2013, 19h39
  2. Utilisation d'index sous MySQL
    Par identifiant_bidon dans le forum Requêtes
    Réponses: 1
    Dernier message: 01/06/2011, 10h19
  3. Nombre max de table sous Oracle
    Par chris0938 dans le forum Oracle
    Réponses: 4
    Dernier message: 18/05/2010, 13h08
  4. nombre max de tables pour Mysql
    Par lolo2mars dans le forum Requêtes
    Réponses: 1
    Dernier message: 13/09/2008, 10h17
  5. Augmenter le nombre max de caractères sous windows..
    Par saebakun dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 17/08/2006, 15h25

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