Un Parcours pour Optimiser les Requêtes de la Base de Données Cloudflare D1

2025-04-07
Un Parcours pour Optimiser les Requêtes de la Base de Données Cloudflare D1

Un développeur frontend a rencontré des goulots d'étranglement de performance lors de l'utilisation de Cloudflare Workers et de la base de données D1. En surveillant le tableau de bord D1, en examinant les instructions de requête et en analysant les nombres de lectures/écritures de lignes, il a identifié plusieurs problèmes clés : requêtes uniques lentes, écritures par lots inefficaces, lectures de lignes inutiles dues à l'inclusion d'ID dans les opérations de mise à jour, analyses de table complètes dans les requêtes de comptage, explosions de produits cartésiens de jointures de plusieurs tables et insertions en masse sous-optimales. Les solutions ont impliqué l'utilisation d'opérations par lots D1, l'exclusion des ID des mises à jour, la mise en œuvre d'une pagination basée sur le curseur, la division des requêtes de jointure de plusieurs tables et l'optimisation des instructions d'insertion en masse. Ces optimisations ont considérablement amélioré les performances des requêtes, réduisant le temps d'exécution de 78 ms à 14 ms dans certains cas. L'expérience souligne l'importance de la surveillance continue, de l'optimisation itérative et des différences cruciales entre les problèmes de performance côté serveur et côté client.