J'ai un soucis dans une fonction (c'est pas un soucis ,mais je pense qu'elle est super lente).

Voila ,je m'explique :j'ai une table produit
ce produit contient un champs région (clé étrangère de la table région)

La table région contient plusieurs champs
id : identité de la région (clé primaire)
nom : nom de la région
nom_pays : nom du pays de cette région

Ma fonction affiche les produits par pays d'abord ,et si je clique sur un pays ,j'affiche les produits de ce pays

donc j'ai une fonction qui fait ceci

une requête sur région pour sélectionner les différents pays le résultat est mis dans un tableau résultat

je fait ma boucle while sur le résultat ,et pour chaque pays ,je refait une autre requête pour chercher les produits correspondant à ce pays.

et c'est super long

donc j'aimerais savoir si le problème vient du fait qu'il y a deux requêtes imbriqués dans une boucle while qui ralenti la vitesse
dans ce cas la ,si il y a un moyen de contourner ceci

Merci de votre aide ,en vous souhaitant une agréable journée.