J'ai reçu des milliers de données dans le tableau qui a été analysé depuis xml. Mon souci est le temps de traitement de mon script, Est-ce que cela affecte le temps de traitement de mon script? être inséré dans la base de données? Y at-il un moyen que je traite l'insertion des données dans la base de données en batch?Traitement par lots dans le tableau en utilisant PHP
Répondre
Ceci est pour les fichiers SQL - mais vous pouvez suivre son modèle (si non seulement l'utiliser) -
Il divise le fichier en plusieurs parties que vous pouvez spécifier, par exemple 3000 lignes, puis les insère sur un chronométré intervalle < 1 seconde à 1 minute ou plus.
De cette façon, un grand fichier est divisé en petits inserts etc.
Cela permettra de contourner la modification de la configuration du serveur php et se soucier des limites de la mémoire etc. telles que le temps d'exécution de script et autres.
nouveaux utilisateurs ne peuvent pas insérer des liens si Google Search "sql grande décharge" ou si cela fonctionne goto: www [dot] Ozerov [dot] de [slash] BigDump [dot] php
Alors vous pourriez même théoriquement modifier le script ci-dessus pour accepter votre tableau en tant que source de données au lieu du fichier SQl. Il faudrait évidemment une modification.
Espérons que ça aide. R
Il est peu probable qu'il affecte le temps de traitement, mais vous devez vous assurer que les journaux de transactions de la base de données sont suffisamment grands pour générer un segment de restauration pour 100 000 lignes.
La syntaxe est:
INSERT INTO tablename (fld1, fld2) VALUES (val1, val2), (val3, val4)... ;
vous pouvez donc écrire lissée. comme ceci (exemple fictif):
foreach ($data AS $key=>$value)
{
$data[$key] = "($value[0], $value[1])";
}
$query = "INSERT INTO tablename (fld1, fld2) VALUES ".implode(',', $data);
Cela fonctionne événement assez vite sur des jeux de données énormes, et ne vous inquiétez pas si les performances de votre ensemble de données correspond à la mémoire.
Ou avec l'emballage ADOdb (http://adodb.sourceforge.net/):
// assuming you have your data in a form like this:
$params = array(
array("key1","val1"),
array("key2","val2"),
array("key3","val3"),
// etc...
);
// you can do this:
$sql = "INSERT INTO `tablename` (`key`,`val`) VALUES (?, ?)";
$db->Execute($sql, $params);
Avez-vous pensé à array_chunk? Cela a fonctionné pour moi dans un autre projet http://www.php.net/manual/en/function.array-chunk.php
- 1. Traitement par lots dans Scala
- 2. rails paperclip traitement par lots
- 3. Traitement par lots dans ADO.NET sans DataAdapters
- 4. Comment accélérer le travail de traitement par lots dans Coldfusion?
- 5. Traitement par lots SVCUtil ou WSDL
- 6. php tableau traitement question
- 7. insertion par lots en utilisant JPA/Toplink
- 8. Comment planifier un traitement par lots dans asp.net
- 9. Insertion par lots de données dans la base de données MySQL en utilisant php
- 10. Fichier de traitement par lots: Mot de passe Étoiles/Cercles
- 11. Démarrage automatique d'un fichier de traitement par lots sous Windows
- 12. Renommer un fichier avec un script de traitement par lots
- 13. Comment préserver les variables dans les scripts de traitement par lots dans les boucles "for"?
- 14. Surveillance par lots Java
- 15. php tableau d'impression en utilisant foreach imbriqué
- 16. Exécution des instructions de mise à jour Oracle en mode de traitement par lots
- 17. Indenteurs et embellisseurs de code par lots
- 18. tableau en utilisant dans le JQuery
- 19. Traitement d'une chaîne dans php
- 20. Surveillance/reprise pour un graphique de tâches complexes pour le traitement par lots
- 21. Ecrire tableau php dans HBase en utilisant Thrift
- 22. En utilisant le ruban Office dans un traitement de texte
- 23. Traitement d'image en utilisant ARM?
- 24. Processus de traitement par lots côté serveur dans un environnement d'hébergement partagé
- 25. Suppression d'un fichier à partir d'un fichier de traitement par lots donnant une erreur
- 26. Rechercher des fichiers dans un script de traitement par lots et traiter ces fichiers?
- 27. Utilisation de cURL et d'itérations de lignes de traitement par lots
- 28. Suppression de fichiers temporaires dans un fichier de traitement par lots
- 29. Boîte de notification non modale du script de traitement par lots
- 30. tableau pop en php
merci à tous pour vos conseils! Je l'apprécie vraiment, j'essaierais de faire un code identique à un gros vidage ou juste de le modifier .. merci encore! – text