Steigerung der Rails-Leistung mit Raw-SQL-Abfragen
Bei komplexen Abfragen mit umfangreichen Datensätzen kann der Einsatz von Roh-SQL die Leistung erheblich verbessern, insbesondere auf Plattformen wie Heroku, wo Zeitüberschreitungen bei Anfragen ein potenzielles Problem darstellen. So integrieren Sie Roh-SQL in Ihre Rails-Anwendung:
<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>
Dieser Codeausschnitt zeigt:
sql
), die UNION ALL
verwendet, um Daten aus payment_details
- und payment_errors
-Tabellen zusammenzuführen und mit der projects
-Tabelle zu verbinden.ActiveRecord::Base.connection.execute(sql)
führt die Abfrage aus und gibt die Ergebnisse als Array zurück, das in records_array
.records_array
zugänglich.Diese Methode bietet eine detailliertere Kontrolle über Datenbankinteraktionen, was möglicherweise zu einer schnelleren Abfrageausführung und einer verbesserten Anwendungsleistung führt.
Das obige ist der detaillierte Inhalt vonWann sollte ich Raw SQL für eine bessere Leistung in meiner Rails-Anwendung verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!