Améliorer les performances de Rails avec les requêtes SQL brutes
Pour les requêtes complexes impliquant des ensembles de données importants, l'utilisation de SQL brut peut considérablement améliorer les performances, en particulier sur des plates-formes comme Heroku où les délais d'attente des requêtes sont un problème potentiel. Voici comment intégrer du SQL brut dans votre application Rails :
<code class="language-ruby">sql = "SELECT * FROM payment_details AS pd JOIN projects AS p ON pd.project_id = p.id UNION ALL SELECT * FROM payment_errors AS pe JOIN projects AS p ON pe.project_id = p.id ORDER BY pd.created_at DESC, pe.created_at DESC" records_array = ActiveRecord::Base.connection.execute(sql)</code>
Cet extrait de code démontre :
sql
) utilisant UNION ALL
pour fusionner les données des tables payment_details
et payment_errors
, jointes à la table projects
.ActiveRecord::Base.connection.execute(sql)
exécute la requête et renvoie les résultats sous forme de tableau stocké dans records_array
.records_array
.Cette méthode offre un contrôle plus fin sur les interactions avec la base de données, ce qui peut potentiellement accélérer l'exécution des requêtes et améliorer les performances des applications.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!