J'utilise un serveur mySql mis à jour toutes les 4 heures. En attendant, les données peuvent être récupérées.requêtes de base de données mySql simultanées
Est-ce que mySql gère ce scénario où la base de données est mise à jour et une requête de l'utilisateur est reçue?
ou je devrais gérer ce scénario? Est-il possible de créer un instantané de la base de données juste avant la mise à jour et d'interroger cette base de données?
Merci
seulement 1 fil d'écriture est disponible qui a lieu toutes les 4 heures. Le thread d'écriture extrait tous les enregistrements de la base de données. pour chaque enregistrement: il effectue une tâche et met à jour l'enregistrement avec les nouvelles données reçues. il existe donc une possibilité où l'enregistrement i est en cours de mise à jour et l'utilisateur qui possède l'enregistrement je tente d'obtenir des données de celui-ci. donc je vais lire plus sur la transaction. Est-il possible de diviser le travail entre des threads séparés en PHP? Je veux dire que la tâche pour chaque enregistrement prend environ 10 secondes et pour les problèmes de performances, je pense à diviser le travail. – embedded
"donc il y a une possibilité où l'enregistrement i est en cours de mise à jour et l'utilisateur qui possède record i essaie d'obtenir des données de celui-ci." - Cela ne devrait pas vous poser de problème. En supposant que vous utilisez une transaction pour écrire les données, l'utilisateur va voir la vue de la base de données avant la mise à jour ou après, en fonction de l'ordre dans lequel les requêtes ont été reçues. Si la lecture est suivie de l'écriture, vous ne pouvez pas dire à la base de données de suspendre la lecture tant que l'écriture n'est pas terminée, mais vous n'en aurez pas besoin car l'utilisateur obtient une vue valide des données. – danben
Re: PHP threads, il n'y a pas une telle chose. Vous devrez utiliser plusieurs processus. Voir http://www.alternateinterior.com/2007/05/multi-threading-strategies-in-php.html pour un exemple. – danben