Bonjour,
J'ai besoin de vos conseils pour optimiser une table contenant 120 million de lignes afin d'analyser les donnees le plus rapidement possible:
Pour analyser cette table je dois lancer des requetes "select" contenant des jointures sur:
un champ temps "tp",
une donnee "d1" ,
une donnee "d2"
et une clause where sur le champ temps "tp" et une donnee "d3".
Les donnees de cette tables sont horodatees et on y trouve 2 ans de donnees comme illustre ci-dessous:
unique_id;01/01/2016 12:00:20;typ1;typ2;.........
......................................
unique_id;01/01/2017 12:30:03;typ1;typ2;.......
..............
...............
unique_id;13/02/2017 04:00:16; ................
................
unique_id27/07/2017 23:00:00;............
Je sais que je vais devoir indexer les champs utilises dans ma jointure et dans la clause where mais je me demande aussi s'il ne serait pas judicieux de diviser cette table qui contient enormement de donnees en tables par mois pour
faciliter l'indexation et optimiser la recherche car actuellement pour une recherche sur deux mois cela prends 20 heures ( avec une serveur contenant 80 G0 de memoire vive et processeur de 8 cores).
Je me demande egalement si je dois placer ces champs (tp,d1,d2,d3..) dans un meme index ou pas?
Merci pour vos conseils!
Partager