SQL, activerecord, temps d'exécution, requêtes, ADO.NET, insertion, suppression
Afin de déterminer si Activerecord est aussi performant que l'utilisation de requête SQL, j'ai mis au point des tests qui permettent de comparer le temps d'exécution des requêtes de chacun.
Dans les tests mis en place, j'effectue des manipulations de données à l'aide d'Activerecord, puis je mets en place l'équivalent en SQL à l'aide d'ADO.NET.
Les manipulations de données sont des sélections, des modifications, des insertions et des suppressions.
Pour chaque manipulation de données les tests sont effectués avec 1000, 10000 et 100000 enregistrements.
[...] Plus le nombre d'enregistrements à modifier est grand plus l'écart se creuse entre Activerecord et SQL. On peut donc en conclure qu'Activerecord reste performant pour la modification de données mais que pour l'optimisation du temps d'exécution SQL reste à privilégier Sélection SelectQuery éxécute la requête suivante : Voici les résultats de performance des requêtes select avec SQL et Activerecord : Nombre d'enregistrements Conclusion Tableau des statistiques Temps d'execution avec SQL en millisecondes Temps d'exécution avec Activerecord en millisecondes Une fois encore on constate que SQL est plus rapide à exécuter la sélection des enregistrements. [...]
[...] Etude sur la comparaison des performances SQL et Activerecord Présentation Afin de déterminer si Activerecord est aussi performant que l'utilisation de requête SQL j'ai mis au point des tests qui permettent de comparer le temps d'exécution des requêtes de chacun. Dans les tests mis en place, j'effectue des manipulations de données à l'aide d'Activerecord, puis je mais en place l'équivalent en SQL à l'aide d'ADO.NET. Les manipulations de données sont des sélections, des modifications, des insertions et des suppressions. Pour chaque manipulation de données les tests sont effectués avec et enregistrements. [...]
[...] On peut donc en conclure que les performances d'Activerecord et de SQL sont équivalentes pour des insertions peu nombreuses mais que dans le cas contraire SQL est plus performant qu'Activerecord Modification UpdateQuery exécute la requête suivante : Pour pouvoir effectuer une modification avec Activerecord il faut utiliser une requête en HQL. (Hibernate Query Language). Sa syntaxe ressemble fortement au SQL mais il est totalement orienté objet, comprenant des notions d'héritage, de polymorphisme et d'association. Pour exécuter la requete HQL il faut récupérer la Session hibernate se trouvant en dessous d'Activerecord. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture