Nous avons cette application PHP qui sélectionne une ligne de la base de données, travaille dessus (appelle une API externe qui utilise un service web), puis insère un nouveau registre basé sur le travail effectué. Il y a un affichage AJAX qui informe l'utilisateur du nombre de registres traités.Base de données de diverses connexions vs une
Les données sont principalement du texte, ce sont donc des données plutôt lourdes.
Le processus est effectué par des milliers de registres à la fois. L'utilisateur peut choisir combien de registres commencer à travailler. Les données sont obtenues à partir d'une table, où elles sont marquées comme "fait". Pas de condition "WHERE", sauf la "date WHERE facultative ENTRE date1 et date2".
Nous avons eu un argument sur lequel approche est meilleure:
- Sélectionnez un registre, le travail sur, et insérer les nouvelles données
- Sélectionnez tous les registres, le travail avec eux en mémoire et insérez-les dans la base de données après tout le travail a été fait.
Quelle approche considérez-vous comme la plus efficace pour un environnement web avec PHP et PostgreSQL? Pourquoi?
Je pense que les avantages de l'approche batch sont assez convaincants. Je l'ai déjà implémenté de cette façon. C'est une application web, donc je pense que le chargement de toutes ces données à la fois pourrait être assez mauvais sur la mémoire du serveur, n'est-ce pas? –