Czasami, jeśli można uniknąć "Korzystanie z tymczasowego, Korzystanie z filesort" warto, choć nie przeprowadziłem obszernych testów.
1 SIMPLE favorites ref source_id,user2_id source_id 3 const 137 Using index; Using temporary; Using filesort
1 SIMPLE users eq_ref PRIMARY,updated PRIMARY 3 apm.favorites.target_id 1 Using where
Zamiast pytać mysql aby posortować według nazwy, w Ruby zrobić
results.sort_by {|u| u.name.downcase}
Powstały zapytania mysql jest teraz prostsze:
1 SIMPLE favorites ref source_id,user2_id source_id 3 const 137 Using index
1 SIMPLE users eq_ref PRIMARY,updated PRIMARY 3 apm.favorites.target_id 1 Using where
Oczywiście, że nie chcą zrób to, jeśli zwróciłeś więcej niż kilkaset wierszy.
Wygląda na to, że nie masz pojęcia, co to jest baza danych. Nie jest to prosty kontener, taki jak zwykły plik tekstowy, jak zapewne myślisz. Jest to oprogramowanie do manipulacji danymi. Zaprojektowany do zamawiania, filtrowania, agregowania i wiele więcej. Podczas gdy PHP nie jest oprogramowaniem do obróbki danych, ale preprocesorem hipertekstowym jest –