web-dev-qa-db-fra.com

Wpdb ajoute-t-il une surcharge considérable aux requêtes avec de grands ensembles de résultats?

Je travaille sur des plugins liés à la sauvegarde et à partir de recherches sur des plugins existants - ils semblent préférer utiliser les fonctions mysql_* de PHP plutôt que $wpdb.

La surcharge de $wpdb est-elle suffisamment importante pour ne pas convenir à une tâche telle que l'interrogation de tables de base de données complètes?

6
Rarst

Si vous utilisez la variable $ wpdb pour des requêtes qui renvoient des ensembles de résultats très volumineux, vous utiliserez beaucoup de mémoire. $ wpdb charge en mémoire la totalité des résultats d'une requête donnée. Donc, si vous sélectionnez, par exemple, tous les messages, il essaiera de tout charger immédiatement dans la mémoire.

Donc, pour quelque chose qui ressemble à un plugin de sauvegarde, les appels directs à mySQL avec des boucles pour récupérer les données ont plus de sens.

5
Otto

Juste au cas où quelqu'un lirait le Q: ici vous avez un Pastebin de l'objet global $wpdb et ici vous avez un peu de fonction de traçage d'utilisation de mémoire. Tout commentaire sur la fonction est apprécié car il n’a pas encore été testé.

1
kaiser