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

Symfony PHP Discussion :

A supprimer svp


Sujet :

Symfony PHP

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2013
    Messages : 3
    Points : 3
    Points
    3
    Par défaut A supprimer svp
    A supprimer svp

  2. #2
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    déjà faut savoir qu'en mode _dev c'est plus long qu'en prod car dans ce mode il y a une couche supplémentaire pour le debuggage comme la gestions des erreurs, logs, requêtes ...

    tu fais un flush dans la boucle de suppression.
    plutôt faire un persist dans la boucle et le flush faut le faire qu'une fois en dernier

    peut être en faisant une requête native en sql (pas en objet comme tu fais actuellement) ça peut être plus rapide que de faire des remove dans une boucle.

    comme ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $stmt = $this->getEntityManager()
    ->getConnection()
    ->prepare('select * from product where 1');
    $stmt->execute();
    $result = $stmt->fetchAll();

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Points : 1 313
    Points
    1 313
    Par défaut
    Doctrine2 n'est pas recommandé pour l'import/export massif de données. (cf sa propre documentation)

    Tu devrais utiliser le component DBALConnection.

    Bon après si t'as la flemme de changer tout ton code a cause de cet orm merdique je le conçoit, donc fait comme dukoid te l'a conseillé.

    Par contre lors de mes expériences pro, on s'est rendu compte que les requêtes flushés étaient toujours gardées "en mémoire" par l'orm.
    On a donc fait une boucle de persist, avec flush tous les 100 requetes, et des $em->clear toutes les 10 flushs je crois. Ca avait amélioré grandement les performances, mais depuis, on oublie l'orm pour les gros scripts :]

Discussions similaires

  1. Erreur a supprimer svp
    Par jujutix dans le forum Développement Windows
    Réponses: 0
    Dernier message: 21/11/2012, 14h28

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