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