Letztes Mal hatte ich das Problem mit active_admin. In Tabellen, in denen ich mehr als 5000 Datenzeilen habe, funktioniert es sehr langsam. Wie kann ich es optimieren? Vielleicht kennt jemand Async-Lade-Plugins für dieses Modul?Wie kann ich active_admin optimieren
15
A
Antwort
35
Es gibt ein paar Dinge, die Sie tun können.
Standardmäßig lädt Active Admin Zuordnungen als Dropdown-Filter auf der Indexseite. Wenn diese Filter nicht verwendet werden, hilft es, sie zu entfernen, da sie jeden Datensatz dieses Modells instanziieren, um das Dropdown zu erstellen.
Wenn Ihre Indexseite über Spalten verfügt, die von den zugehörigen Datensätzen abhängen, können Sie diese sehr schnell laden.
ActiveAdmin.register Post do
controller do
def scoped_collection
super.includes :author, :publisher
end
end
end
Dies gilt nicht wirklich, da Sie nur 5000 Datensätze haben, aber wenn Sie zu dem Punkt, wo auch ein DB COUNT
des Tisches eine lange Zeit in Anspruch nimmt, können Sie die Zählung in den Boden deaktivieren rechts neben der Indexseite. (Diese Funktion wurde in 0.6.1 hinzugefügt)
ActiveAdmin.register Post do
index pagination_total: false
end
Verwandte Themen
- 1. Wie kann ich für IE optimieren?
- 2. Wie kann ich die Dojo-Ladezeit optimieren?
- 3. Wie kann ich dieses Menü optimieren?
- 4. wie ich meine mysql Abfrage optimieren kann
- 5. Wie kann ich diese Abfragen optimieren?
- 6. Wie kann ich meinen BinaryWriter optimieren?
- 7. Wie kann ich unter Abfrage optimieren?
- 8. Wie kann ich diese Abfrage optimieren?
- 9. Wie kann ich die 'IN' Abfrage optimieren?
- 10. Wie kann ich diese Abfrage optimieren?
- 11. Wie kann ich diese bestimmte Abfrage optimieren?
- 12. Wie kann ich diese linq-Abfrage optimieren?
- 13. Wie kann ich diesen Code optimieren
- 14. Wie kann ich diesen Code optimieren?
- 15. Wie kann ich diesen Java Code optimieren?
- 16. Wie kann ich diese SQL-Abfrage optimieren?
- 17. Wie kann ich den Code optimieren?
- 18. Wie kann ich meinen SQL-Code optimieren?
- 19. Wie kann ich diese MySQL-Abfrage optimieren?
- 20. Wie kann ich diese Farbdifferenzfunktion weiter optimieren?
- 21. Wie kann ich diese MySQL-Abfrage optimieren?
- 22. Wie kann ich diese LinQ-Abfrage optimieren?
- 23. Active_Admin Löschen nicht funktioniert - Uncaught Typeerror: kann Eigenschaft ‚mozilla‘ undefinierter
- 24. Wie viel sollte ich optimieren?
- 25. Kann ich PyInstaller die Kompilierung optimieren lassen?
- 26. Kann LINQ "Abfragen" optimieren?
- 27. Wie kann ich dieses benutzerdefinierte Dojo 1.7.2 Build optimieren?
- 28. Wie kann ich Javascript-Profil lesen und optimieren?
- 29. Wie kann ich die Größe meiner AngularDart-Anwendung optimieren?
- 30. Wie kann ich diesen Code optimieren (return statements)?
Vielen Dank! Das ist eine großartige Antwort! – itdxer
Wäre es viel schneller, den Filter auf etwas wie 'filter: association, as:: select, collection: -> {Association.pluck: id}' ... zu setzen, anstatt ein Ruby-Objekt für jede 'association' zu instanziieren Zeile wie ist die Standardeinstellung, wenn Sie "filter: association" unbedingt? – mecampbellsoup
Ja, das würde mir sehr helfen. Aber du solltest auch einen menschenfreundlichen Namen zurückgeben. Zum Beispiel: 'Author.pluck (: name,: id)' – seanlinsley