Ich stimme allen anderen zu. Sie müssen sich profilieren. Es hat keinen Sinn, irgendetwas an Ihrem Code zu ändern, bis Sie wissen, was genau die Langsamkeit verursacht. Der Versuch, ein Problem zu beheben, ohne die Ursache zu verstehen, ist, als würde man sich krank fühlen und sich entscheiden, viele Operationen durchführen zu lassen, bis man sich besser fühlt. Diagnostizieren Sie zuerst Ihr Problem. Es könnte etwas Kleines wie eine Netzwerkeinstellung sein oder es könnte eine schlechte Zeile in Ihrem Code sein.
Einige Tipps zur Profilerstellung:
So erstellen Sie ein Profil Ihrer Rails-Anwendung
Leistungstests für Rails-Anwendungen
At the Forge - Profiling Rails Applications
Sobald Sie den Engpass gefunden haben, können Sie herausfinden, was zu tun ist.
Ich empfehle diese Videos:Railslab Scaling Rails
Jetzt überarbeitet basierend auf professionellen Ergebnissen:
OK. Jetzt, da Sie sehen können, dass Ihr Problem darin besteht, dass Sie eine Art Berechnung mit einer Abfrage durchführen, die auf dem Durchlaufen der Ergebnisse einer anderen aktiven Datensatzabfrage basiert, würde ich Ihnen raten, sich mit dem Erstellen einer benutzerdefinierten SQL-Anweisung zu befassen, die Ihre anfänglichen Auswahlkriterien und kombiniert die Schleifenberechnung, um das zu bekommen, was Sie brauchen. Sie können dies definitiv beschleunigen, indem Sie die SQL optimieren.