13-04-2011, 08:41 PM
(Modification du message : 14-04-2011, 10:29 AM par Sephi-Chan.)
bonsoir
en quête d'optimisation j'en viens à vous.
Il s'agit de ma map. Elle comportera à terme au minimum 250.000 cases donc 250.00 entrées
je n'affiche que de toutes petites portions de map mais la requête est assez lente malgré l'utilisation à bon escient des index (index sur x, index sur y et index sur le couple x,y)
J'utilise pour l'affichage une requête avec pas mal de jointures (5 ou 6 LEFT et INNER JOIN) et surtout un BETWEEN qui semble ralentir la requête, par exemple:
WHERE (x BETWEEN 10 AND 30) AND (y BETWEEN 60 AND 100)
j'ai fait des test sur mon localhost ainsi que sur un dédié debian installé dans mon placard (avec cache d'opcode APC) et j'obtiens des temps assez élevés, je n'ai plus les chiffres en tête mais c'est beaucoup trop long...
le seule moyen que je vois c'est de rajouter un index supplémentaire sur ma TABLE map, comme par exemple diviser ma map en 4 régions (1 index par région)
voyez vous d'autres optimisations possibles pour minimiser le temps d'exécution sur une table de 250.000 entrées avec la clause BETWEEN ?
bonne soirée à toutes et à tous
en quête d'optimisation j'en viens à vous.
Il s'agit de ma map. Elle comportera à terme au minimum 250.000 cases donc 250.00 entrées
je n'affiche que de toutes petites portions de map mais la requête est assez lente malgré l'utilisation à bon escient des index (index sur x, index sur y et index sur le couple x,y)
J'utilise pour l'affichage une requête avec pas mal de jointures (5 ou 6 LEFT et INNER JOIN) et surtout un BETWEEN qui semble ralentir la requête, par exemple:
WHERE (x BETWEEN 10 AND 30) AND (y BETWEEN 60 AND 100)
j'ai fait des test sur mon localhost ainsi que sur un dédié debian installé dans mon placard (avec cache d'opcode APC) et j'obtiens des temps assez élevés, je n'ai plus les chiffres en tête mais c'est beaucoup trop long...
le seule moyen que je vois c'est de rajouter un index supplémentaire sur ma TABLE map, comme par exemple diviser ma map en 4 régions (1 index par région)
voyez vous d'autres optimisations possibles pour minimiser le temps d'exécution sur une table de 250.000 entrées avec la clause BETWEEN ?
bonne soirée à toutes et à tous