-
Bonjour,
Quand il s'agit de n'importe quelle requête MySql le serveur est sollicité (un peu ou beaucoup) selon la complexité de cette requête.
Dans le cas de requêtes SELECT (simples) sur un champ non indexé, il y a un parcours de la totalité de la table ce qui demande un peu de travail au serveur. Alors, s'il s'agit de jointures avec l'utilisation de fonctions du style MAX ou SUBSTRING... il y a plus de travail à faire.
Quand il s'agit de procédure stockées, le travail est directement demandé en bloc au serveur et c'est normal qu'il passe du temps dessus.
Dans mon cas particulier, je devais lancer une procédure stockée qui se contentait juste de changer la valeur d'un champ suivant la date de publication de l'enregistrement (c'est à dire suivant le contenu d'un autre champ). L'opération demandait juste 8 minutes mais avec les services interdits au public sinon mon serveur ralentissait et j'avais abouti à la même opération avec les services ouverts à pas moins de 37 minutes.
Cela va sans dire que je me suis fait rappeler à l'ordre par mon hébergeur qui me signalait que durant plus d'une demi-heure le serveur tournait autour de 75% de ressources CPU.
Tout cela pour dire que si ton opération est régulière il faudra penser à une autre méthode (par tranches) si c'est possible.
D'autre part, le moteur Innodb est plus gourmand en ressources système que MyIsam.
N'empêches, tant que l'on ne sait pas en quoi consiste ton opération, je ne pense pas que tu trouves beaucoup de réponses.