Vidéo 17 • Performance & Scalabilité
La Pagination :
Le Débit Intelligent
"Ne chargez pas 1 million de lignes quand l'utilisateur n'en voit que 20 à l'écran."
Le Piège du "SELECT ALL"
Approche Novice
Demander 50 000 lignes au Cloud d'un coup.
Le serveur sature sa RAM, le réseau sature sa bande passante.
RÉSULTAT : Application figée, erreur "Timeout", crash du serveur.
Approche Expert SaaS
Demander les 50 premières lignes, puis les 50 suivantes quand l'utilisateur scrolle.
RÉSULTAT : Fluidité totale, 10ms de réponse, parc supportant 10 000 sites.
Simulation : Poids vs Vitesse
Console d'Extraction
Infos Réseau
Taille : 0 KB
Temps : 0ms
CRASH : OUT OF MEMORY
Le mécanisme : Le Curseur de Lecture
Comment le Cloud découpe ?
Le serveur ne lit que ce que vous lui demandez. Il utilise deux paramètres magiques :
- LIMIT "Je veux seulement 50 résultats."
- OFFSET "Saute les 100 premiers et donne moi la suite."
Implémentation de l'Appel Paginé
// 1. Paramétrage de la requête Webservice MaReq est un httpRequête MaReq.URL = "https://api.monsaas.com/v1/tickets" // 2. On passe les paramètres de pagination MaReq.URL += "?limit=50&page=" + nMaPageActuelle // 3. Dans l'API Webdev (serveur) nNbSaute est un entier = (nPage - 1) * nLimit sSQL est une chaîne = "SELECT * FROM Tickets LIMIT " + nLimit + " OFFSET " + nNbSaute HExécuteRequêteSQL(REQ_Data, MyConnexion, hRequêteSansCorrection, sSQL)