Kolumna deleted_at
nie jest dobrym kandydatem na indeks. Postaram się lepiej wyjaśnić w porównaniu do komentarza:indeksy są przydatne tylko wtedy, gdy ich kardynalność jest stosunkowo wysoka. Kardynalność to liczba opisująca unikalność indeksu w zestawie danych. Oznacza to, że jest to całkowita liczba rekordów podzielona przez całkowitą liczbę unikalnych rekordów.
Na przykład liczność klucza podstawowego wynosi 1. Każdy rekord zawiera unikalną wartość klucza podstawowego. 1 jest również najwyższą liczbą. Możesz uznać to za „100%”.
Ale kolumna taka jak delete_at nie ma takiej wartości. To, co Laravel robi z usuniętymi_at, to sprawdzanie, czy jest on pusty, czy nie. Oznacza to, że ma dwie możliwe wartości. Kolumny zawierające dwie wartości mają wyjątkowo niską kardynalność, która zmniejsza się wraz ze wzrostem liczby rekordów.
Możesz zaindeksować taką kolumnę, ale to nie pomoże. Co się stanie, może spowolnić działanie i zająć miejsce.
TL;DR:nie, nie musisz indeksować tej kolumny, indeks nie będzie miał korzystnego wpływu na wydajność.