Jeśli musisz użyć oddzielnego roku i kwartału zamiast daty (ponieważ wydaje się, że masz określone wymagania dotyczące raportowania), wybrałbym tinyint
na kwartał i smallint
przez rok i przechowuj je w PAYMENT
samego stołu.
Nie przechowywałbym tego w innym stole. To źle, ponieważ:
- Musisz upewnić się, że wyprodukowałeś wystarczająco dużo lat/kwartałów
- Musisz dołączyć i użyć klucza obcego
Jeśli przechowujesz dane razem z rekordem, pomoże to w odczytach. Twój stół może być mały, ale zawsze dobrze jest pamiętać o wydajności.
DLACZEGO
Wyobraźmy sobie, że musisz zdobyć
W takim przypadku potrzebujesz indeksu pokrycia we wszystkich elementach i nadal nie pomaga, ponieważ zapytanie dotyczy konkretnego kwartału, a nie kwartału. Jednak posiadanie danych w tabeli pomoże w lżejszym planie wykonania.