IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Optimisation de code [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 146
    Points : 72
    Points
    72
    Par défaut Optimisation de code
    Bonjour j'essaye d'optimiser mon petit bout de code , c'est un script automatique saut qu'il est assez a faire le traitement et je vois pas comment l'optimiser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    $cx = Connexion::getConnexion();
    	$query = "SELECT id_community FROM community";
    	$insert = $cx->prepare($query);
    	$insert->execute();
    	$result = $insert->fetchAll();
    	//$community = new Community();
     
    	foreach($result as $key){
    		$json = json_decode(file_get_contents('http://graph.facebook.com/'.$key['id_community'])); // Recupere les likes 
    		$likes = $json->{'likes'};
     
    		$insert2 = $cx->prepare("INSERT INTO fan(community_id_community, fan_nb, fan_date) VALUES (:community_id, :fan_nb, :fan_date)");
    		$insert2->bindParam(':community_id', $key['id_community']);
    		$insert2->bindParam(':fan_nb', $likes);
    		$insert2->bindParam(':fan_date',$date);
    		if($insert2->execute()){
    		}
    	}

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Ton programme est difficilement optimisable.
    Si il est long à s'exécuter c'est certainement du au temps de récupération de la page (c'est plus un problème réseau qu'applicatif). Si tu veux t'en assurer tu peux placer un compteur de temps avant et après le file_get_contents et regarder le pourcentage de temps passer dans cette fonction par rapport au temps total d'exécution.


    ---------------

    http://www.zap-buzz.com - le programme télé TNT du soir classé par rapport à l'intérêt des internautes.

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    fait plutot :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach($insert as $key)
    et suprime le fetchAll,
    je plus long dans l'histoire des le file_get_contents, y'a peu être moyenne de récupérer plusieurs id

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 146
    Points : 72
    Points
    72
    Par défaut
    pas très bien compris stealth35 ^^

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par misakilou Voir le message
    pas très bien compris stealth35 ^^
    PDOStatement est un Traverable, donc pas besoin de faire un fetchAll si c'est pour la parcourir juste après

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 146
    Points : 72
    Points
    72
    Par défaut
    Woowww je suis impressionné la... je pensais pour récupérer des éléments d'un tableau il fallait faire un fetchAll , mais j'ai toujours du mal a comprendre que le fait de parcourir le $insert fait la même chose qu'un fetchAll

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par misakilou Voir le message
    Woowww je suis impressionné la... je pensais pour récupérer des éléments d'un tableau il fallait faire un fetchAll , mais j'ai toujours du mal a comprendre que le fait de parcourir le $insert fait la même chose qu'un fetchAll
    parce que c'est un Traversable
    , donc PDOStatement peux être parcouru via foreach comme un tableau, en interne à chaque tour de boucle un fait appelle au fetch()

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 146
    Points : 72
    Points
    72
    Par défaut
    je dormirai moins bête ce soir
    Merci !

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    je crois que y'a moyen de récupérer plusieurs résultats en même temps avec le FQL

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. optimiser le code d'une fonction
    Par yanis97 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/07/2005, 08h41
  2. Optimiser mon code ASP/HTML
    Par ahage4x4 dans le forum ASP
    Réponses: 7
    Dernier message: 30/05/2005, 10h29
  3. optimiser le code
    Par bibi2607 dans le forum ASP
    Réponses: 3
    Dernier message: 03/02/2005, 14h30
  4. syntaxe et optimisation de codes
    Par elitol dans le forum Langage SQL
    Réponses: 18
    Dernier message: 12/08/2004, 11h54
  5. optimisation du code et var globales
    Par tigrou2405 dans le forum ASP
    Réponses: 2
    Dernier message: 23/01/2004, 10h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo