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 :

Conseil sur emploi des index


Sujet :

MySQL

  1. #1
    Invité
    Invité(e)
    Par défaut Conseil sur emploi des index
    Bonjour

    J ai une table conteant 3 188 971 d enregistrements.C est une table de cours de bourse en 1 minute.

    Quand je fais une recherche ça prend du temps.
    Je sais qu il faut optimiser avec les index donc j ai cree un index que j ai appelé index_date. mais je ne sais pas l utiliser et s il est opportun etant donné que toutes mes recherches sont de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select open from `audjpy` where date >=ma_date and time>mon_time order by date, time asc limit 0,1
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select id from `audjpy` where date >=ma_date and time>mon_time order and low>=mon_low by date, time asc limit 0,1
    donc j ai une table cree comme suit :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    CREATE TABLE `tester`.`audjpy` (
    `id` int( 11 ) NOT NULL AUTO_INCREMENT ,
    `date` date NOT NULL ,
    `time` time NOT NULL ,
    `open` double NOT NULL ,
    `high` double NOT NULL ,
    `low` double NOT NULL ,
    `close` double NOT NULL ,
    PRIMARY KEY ( `id` ) ,
    UNIQUE KEY `index_date` ( `date` , `time` )
    ) ENGINE = MYISAM DEFAULT CHARSET = latin1;

    Donc mes questions :
    Ma table est elle structurée comme il le faut (l index est il suffisant, bien construit) ?
    Comment utiliser cet index dans une requete ?

    merci pour votre aide

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 901
    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 901
    Points : 6 026
    Points
    6 026
    Par défaut
    C'est le SGBD qui décide d'utiliser un index ou pas.

    Je ne suis pas sûr que la colonne time dans l'index soit pertinente.

    Enfin, un index sur low me semble nécessaire.

    A noter que cette question "Que dois-je indexer?" revient souvent, et qu'il existe un tuto de SQLPro sur le sujet...
    "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
    Invité
    Invité(e)
    Par défaut
    merci je vais chercher ce tuto.

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/09/2012, 22h46
  2. [MySQL] Conseil sur traitement des données
    Par Feng-Huang dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 07/01/2009, 12h16
  3. demande de conseils sur l'utilisation d'index
    Par Ickou dans le forum Requêtes
    Réponses: 4
    Dernier message: 29/03/2006, 12h13
  4. Conseils sur une demande d'emploi à temps partiel
    Par Pollux dans le forum Emploi
    Réponses: 5
    Dernier message: 06/02/2006, 12h50
  5. Compteur sur l'utilisation des index
    Par hkhan dans le forum Administration
    Réponses: 11
    Dernier message: 14/10/2004, 17h57

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