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 :

Où placer mes index ?


Sujet :

Requêtes MySQL

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Points : 12
    Points
    12
    Par défaut Où placer mes index ?
    Salut,

    J'ai lu pas mal de choses sur les index, et notamment qu'ils sont interessants lorsque l'on tourne avec beaucoup de SELECT.

    Je ne fais qu'un insert par mois, le reste du temps uniquement du select.

    Ma table est conçue comme ceci :

    date, utilisateur, eau1, eau2, eau3, gaz1, gaz2, gaz3, ele1, ele2, ele3

    J'ai lu qu'on pouvait mettre des index sur chaque colonne ou sur un groupe de colonnes. Dans mon cas les select sont souvent réalisés en fonction d'une date, et d'un type (eau, gaz, ele).

    Je ne vois pas trop comment les disposer...

    Si quelqu'un pouvait m'éclairer

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Qu'y a-t-il dans tes colonnes eau1, gaz2, etc. ?
    Combien de lignes as-tu ?
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Désolé pour l'imprécision.

    Pour la date, c'est un timestamp et l'utilisateur un varchar; les colonnes eau et elec sont en medium int et les colonnes gaz en décimal.

    J'ai à peu près 120 lignes dans la table

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Avec 120 lignes, je pense qu'il est totalement inutile de se casser la tête avec des index !
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  5. #5
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    J'imagine bien qu'avec 120 lignes, l'influence des index est moindre. Mais la table est biensûr amenée à grossir. A partir de combien de ligne les index peuvent ils avoir une incidence positive sur les performances ?

  6. #6
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Disons quelques milliers. 120 lignes, c'est considéré comme microscopique pour un SGBD.
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Points : 382
    Points
    382
    Par défaut
    En SQL tout est possible comme requête, mais si la table est grosse, ca peux devenir long.

    D'une facon générale, pour les grosse requête tu positionne des index qui correspondent aux colonnes de la clause WHERE, ce qui évite de parcourir toute la table.

    Mais c'est vrai que dans ton cas c'est inutile
    Si un problème ne trouve pas de solution, c'est qu'il n'y à pas de problème

Discussions similaires

  1. mes index qui ce bousie
    Par etienne.bo dans le forum Bases de données
    Réponses: 4
    Dernier message: 09/06/2006, 00h45
  2. Réponses: 4
    Dernier message: 18/05/2006, 09h05
  3. Réponses: 5
    Dernier message: 07/04/2006, 13h26
  4. Réponses: 4
    Dernier message: 04/04/2006, 19h19
  5. [EJB & WebServices] Où placer mes Facade et WS EndPoint?
    Par mauvais_karma dans le forum Services Web
    Réponses: 12
    Dernier message: 25/05/2005, 16h24

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