Wie kann ich etwas wie find_in_batches_by_sql in Rails tun?

8

find_in_batches erlaubt kein reines SQL (soweit ich das sehen kann).
find_by_sql hat keine Batch-Unterstützung (soweit ich das sehen kann).

Also, wie kann ich etwas wie find_in_batches_by_sql ?

machen?

Das SQL ist ein unangenehmer, programmatisch erzeugter Zeugs und es verweist auf Datenbanken von Drittanbietern, und die Ergebnismengen können Hunderttausende bis Millionen von Datensätzen enthalten.

Gibt es andere Cursortricks mit ActiveRecord, in die ich schauen sollte?

Danke.

    
z5h 11.10.2011, 16:48
quelle

2 Antworten

4

Aktualisiert, um die richtige Reihenfolge für LIMIT und OFFSET zu verwenden

Sie könnten das SQL immer in Teile zerlegen und so etwas wie

machen %Vor%

Oder wenn Sie wirklich spaßige SQL-Sachen brauchten, könnten Sie einfach einen Offset und Limiter und eine Schleife verwenden, bis Sie die Ergebnisse ausgeschöpft haben. Hier ist die Grundidee:

%Vor%     
Wizard of Ogz 11.10.2011, 17:36
quelle
1

Hinweis Offset sollte nach Limit

sein %Vor%     
sander 01.12.2017 09:38
quelle

Tags und Links