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 :
select open from `audjpy` where date >=ma_date and time>mon_time order by date, time asc limit 0,1
ou
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 :
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
Partager