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 :

ORM et performances


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 30
    Points : 23
    Points
    23
    Par défaut ORM et performances
    Bonjour,

    ma question est assez générale sur les performance d'un ORM (je pense en premier lieu à Doctrine) contre un SQL fait main bien optimisé.

    En fait j'utilise une base de données très lourde et mal optimisée.
    Le temps est venu de lui refaire une seconde jeunesse, ce qui implique en même temps de revoir toutes mes requêtes car la structure évolue en conséquence.

    Ainsi je m'interroge sur les ORM (je n'en ai jamais utilisé, mais je connais le principe).
    Concrètement je vois bien le gain de temps de développement que l'on peut avoir grâce à un ORM. Mais est ce que les requêtes (les millions de requetes quotidiennes) générées par l'ORM seront aussi performantes que celles que l'on peut faire à la main : triviale mais optimisée ?

    En fait j'ai trouvé un benchmark :
    http://code.google.com/p/php-orm-benchmark/
    à la vue des performances des ORMs comparées à celles de PDO, j'ai peur de plomber le serveur en rajoutant encore une couche. Crainte peut peut-être injustifiée ?
    Car mon objectif est aussi de réduire la charge serveur et d’accélérer le chargement de mes pages (impactés par la DB mal optimisée), peut être le module de cache de Doctrine est intéressant ?

    Que pouvez-vous m'en dire ?

    En vous remerciant.
    Cordialement.

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    tu as un discussion déjà sur les performances des ORM ici

    Avec un ORM tu ne réduiras pas la charge serveur.
    Vu que tu ne peux pas tout mettre en cache, tu auras quoi qu'il arrive une baisse de performances.

    Et pour des performances optimales, tu dois déporter le maximum des requêtes dans les procédures/fonctions stockées.
    L'ORM n'est pas la panacée dès qu'il s'agit de monter en charge.

  3. #3
    Membre averti Avatar de Njörd
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 190
    Points : 390
    Points
    390
    Par défaut
    Bonjour im-souf,

    La discussion juste en dessous de la tienne parle justement de ça. ORM et performances

    Edit : spotted par rawsrc

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 30
    Points : 23
    Points
    23
    Par défaut
    Au temps pour moi, j'avais cru que le sujet parlait seulement d'un problème avec Kohana.

    Les phrases de rawsrc en disent long :

    Alors bonne chance, si tu as mangé du SQL en pagaille pendant des années, tu vas voir que c'est pas si simple de s'en affranchir...
    Après, pour tous les gros projets PHP que j'ai vu, l'ORM était tout simplement banni.
    Ma crainte était justifiée, les ORM ne sont à priori pas une solution magique et révolutionnaire qu'elles disent être.

    Je m'y aventurerai sûrement sur un petit projet histoire de connaître, mais pour cette fois ci je m'en affranchirai.

    Merci bien

  5. #5
    Membre habitué
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2011
    Messages : 146
    Points : 172
    Points
    172
    Par défaut
    Personnellement j'ai jamais trouvé un avantage, et même dans le cas de passage de MySQL vers Oracle il a fallu faire pas mal de modification, même plus que si c'était du SQL. (d'ailleurs on a oublier le switch avec l'ORM et on est repassé en SQL tellement ça compliquer les choses).

    Alors l'avantage qu'un ORM pourrait avoir je le cherche encore ...

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

Discussions similaires

  1. Les frameworks de persistance (ORM) sont-ils dangereux pour les performances ?
    Par SQLpro dans le forum Débats sur le développement - Le Best Of
    Réponses: 205
    Dernier message: 04/02/2017, 16h43
  2. ORM,DBAL,MongoDB : performance ?
    Par rei.uchiwa dans le forum ORM
    Réponses: 0
    Dernier message: 13/03/2011, 20h52
  3. SGBDR ou orm/framework pour gerer la performance la pérennité et baisser les couts ?
    Par SQLpro dans le forum Débats sur le développement - Le Best Of
    Réponses: 0
    Dernier message: 24/06/2009, 13h49

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