2015-03-24 12 views
5

A może Railsy robią coś w rodzaju automatycznego dodawania indeksu lub zamówienia według id?W Railsach czy zamawianie według created_at wymaga indeksu?

Szyny 4.

+2

Tak, musisz dodać to sam. Tak, jeśli masz wiele wierszy w swoim stole. Jest ok bez indeksu, jeśli masz tylko kilkaset wierszy. Możesz zajrzeć do plików migracyjnych i sprawisz, że domyślnie nie zdefiniowano żadnego indeksu dla created_at. – cristian

+0

@cristian - OK, dzięki. Możesz stworzyć odpowiedź na to. –

Odpowiedz

5

Tak, musisz sam dodać indeks dla created_at.

Możesz przejrzeć swoje pliki migracji, a zobaczysz, że domyślnie nie jest zdefiniowany żaden indeks dla created_at.

Jest OK bez indeksu, jeśli masz tylko kilkaset wierszy.

2

Szyny uchwyty dodanie indeksu na kolumnie klucza podstawowego.
Począwszy od wersji 4.2, szyny ma support for foreign key indexes (nota a few gotchas)

Poza tym, Szyny pozostawi indeksowania dla wszystkich pozostałych pól zależy wyłącznie od Ciebie. Więc nie, nie stworzy go na twoim polu created_at.

Potrzebujesz jednego? Tylko wtedy, gdy masz problemy z wydajnością (lub wkrótce pojawią się problemy). Możesz obsłużyć znacznie więcej niż kilkaset wierszy, zanim napotkasz problemy.

Gdy poczujesz, że go potrzebujesz, powinieneś użyć migracji Railsów, aby go dodać - nie powinieneś dodawać go bezpośrednio do bazy danych.

Powiązane problemy