Cztery miliony wierszy nie są ogromne.
Jednobajtowa różnica między typami danych datetime i timestamp jest ostatni rzecz, którą powinieneś wziąć pod uwagę przy wyborze między tymi dwoma typami danych. Sprawdź ich specyfikacje .
Tworzenie znacznika czasu część Twojego klucza podstawowego to zły, zły pomysł. Zastanów się, jaki klucz główny oznacza w bazie danych SQL.
Umieść indeks w kolumnie sygnatury czasowej. Uzyskaj plan wykonania i wklej go do swojego pytania. Określ swoją medianę wydajność zapytań i wklej to na twoje pytanie.
Zwracanie wierszy z jednego dnia z zaindeksowanej tabeli zawierającej 4 miliony wierszy na moim komputerze stacjonarnym zajmuje 2 ms. (Zwraca około 8000 wierszy.)