2016-05-05 14 views
0

Ich habe eine Tabelle namens Route, die eine Attributmeile hat.Finden Sie einen Datensatz aus einer großen Anzahl von Datensätzen

Ich muss alle Routen finden, deren Meilen zwischen 0-15 liegen, aber das Problem ist, dass die Routentabelle 75k Datensätze hat und eine lange Zeit zum Laden braucht.

Kann mir jemand mit einem besseren Ansatz dabei helfen.

+0

Try für die Meile Spalte für die Route Hinzufügen Index und überprüfen, ob es eine Steigerung der Leistung ist. – Pavan

Antwort

1

Verwenden Index für die Meile Spalte und find_each um die Ergebnisse zu ermitteln:

Route.find_each(batch_size: 2000,:conditions => {:mile => 0..15}) 
+0

Es ist perfekt, obwohl die Syntax falsch ist. –

+0

Ich habe die obige Antwort aktualisiert. –

Verwandte Themen