Bonjour à tous,
J'aurais une petite question de performance sur les bdd. Désolé si le sujet existe déjà, je n'ai rien trouvé dans les sujets que j'ai consulté.
J'ai une base de données de plus de 200 millions de lignes agréger sur une table de 30 millions de lignes pour mon moteur de recherche. Avec des index, full text et autre. Mon moteur recherche dans celle-ci par exemple 2 millions de données à partir desquelles je construis mes graphiques.
Ça marche bien, maïs utilisant de l'Ajax et ne stockant pas les 2 millions de résultats en interne les graphiques effectuent la recherche sur les 30 millions pour extraire les 2 millions desquelles on extraire la donnée final. Et j'aurais aimé connaître la meilleure solution concernant l'optimisation de performance.
Stocker les 2 millions de données dans une variable que je passe à tout les graphs ? Pas très propre.
Effectuer toutes les requête en une fois dont je redistributs les résultats au script des graph Ajax ? Encore moins propre à mon goût.
Les vues ? Mais c'est la requête (des 30M au 2M) qui sera stocker pas son résultat.
Procédure stockée ? Idem
Créer une nouvelle table temporaire pour la donnée de 2M duquel on fait les recherche par graph ? Ne vas pas me ralentir sur la création ?
Voilà, j'ai l'intuition que qu'il doit y avoir un autre moyen de stocker mes 2M temporairement. Mais j'ignore lesquelles.
Des conseils ou piste de réflexion ?
Cordialement.
Partager