pagination à partir d'une requete (limit, between)
Bonjour,
J'essaye de paginer des résultats de requête php/mysql. J'y arrivais jusque là mais je dispose cette fois d'une table de près de 10000 enregistrements avec plus de 6 jointures...
J'utilisais jusque là la méthode qui consiste à découper les résultats par tranches avec la clause LIMIT. Avec cette méthode ma requête actuelle peut mettre jusqu'à 30 secondes avant de descendre des résultats ! C'est parait il le mal endémique des forums qui ont du succès ! (mon site en construction n'est pas un forum :))
J'ai lu un article (trop) rapide sur la clause BETWEEN avec un curseur... qui serait moins gourmande en ressources. J
Quelqu'un en saurait-il un peu plus ?
merci de votre aide
Pagination à partird'une requête (limit, between)
Merci pour vos messages !
J'ai donc vérifié les index et effectivement il en manquait sur deux tables. En fait aucune table n'avait d'index mais des clés primaires (sauf deux tables donc). Je pensais que la clé primaire avait valeur d'index. J'ai donc rajouté un index sur chaque table en plus de la clé primaire.
Du coup la vitesse s'est considérablement améliorée. Je suis toujours en local, j'espère que cette requête sera aussi rapide sur le site hébergé !
J'essaye d'optimiser encore...
Encore merci pour votre aide. Je pensais le problème insoluble. J'ai lu sur le Web un article qui explique que cette méthode (découpage par la clause limit) était vouée à l'échec sur des grosse requêtes et qu'il fallait se tourner vers l'utilisation d'un curseur et de la clause Between...