Ich habe eine aktuelle Implementierung von will_paginate, die die paginate_by_sql Methode verwendet, die Sammlung zu bauen paginierte werden. Wir haben eine benutzerdefinierte Abfrage für total_entries das ist sehr kompliziert und belastet unsere DB sehr. Deshalb möchten wir total_entries aus der Paginierung herausschneiden.Mit will_paginate ohne: total_entries eine lange Abfrage zu verbessern
Mit anderen Worten, anstelle der typischen Seitenumbruchanzeige von 'vorheriger 1 [2] 3 4 5 nächster' würden wir einfach nur einen 'nächsten - vorherigen' Knopf bevorzugen. Aber wir müssen ein paar Dinge wissen.
- Wird der vorherige Link angezeigt? Dies würde natürlich nur dann vorkommen, wenn Datensätze vor den in der aktuellen Auswahl angezeigten Daten vorhanden sind
- Zeigen wir den nächsten Link an? Dies wäre nicht angezeigt, wenn der letzte Datensatz in der Sammlung angezeigt wird
Vom docs
Eine Abfrage zum Zählen von Zeilen wird automatisch generiert werden, wenn Sie nicht liefern: total_entries. Wenn Sie Probleme mit dieser erzeugten SQL haben, möchten Sie möglicherweise führen Sie die Zählung manuell in Ihrer Anwendung.
So sind letztlich die ideale Situation ist die folgende.
- entfernen die total_entries zählen, weil es zu viel Last auf die Datenbank verursacht
- Anzeige 50 Datensätze gleichzeitig mit halb-Paginierung nur mit Vor/Zurück-Tasten, um zu navigieren und nicht alle Seitennummern anzuzeigen vorhanden
- Nur die nächste Taste und vorherige Taste angezeigt wird entsprechend
Hat jemand arbeitet mit einem ähnlichen Problem oder haben Gedanken über eine Auflösung?
Danke für die Idee. Ich werde hacken und sehen, was ich daraus machen kann. Ich habe ein paar langwierige SQL-Abfragen, mit denen ich mich befassen muss, aber ich denke, ich sollte in der Lage sein, sie in Lösung zu bringen und eine Vorstellung davon zu bekommen, wie die Leistung sein wird. Vielen Dank! – mwilliams
Danke für die Antwort. Nett und einfach und ich sah weit über eine so einfache Lösung hinaus. Der Großteil meiner Implementierung ist vorhanden und scheint schon viel besser zu sein. Obwohl ich Probleme mit den nächsten/vorherigen Knöpfen habe, werde ich es bald genug herausgehämmert bekommen. Danke noch einmal! – mwilliams