Wenn Sie anstelle eines Datums separates Jahr und Quartal verwenden müssen (da Sie anscheinend bestimmte Berichtsanforderungen haben), würde ich mich für ein tinyint
entscheiden für Viertel und smallint
für das Jahr und speichern Sie sie in der PAYMENT
Tabelle selbst.
Ich würde es nicht in einer anderen Tabelle speichern. Das ist schlecht, weil:
- Sie müssen sicherstellen, dass Sie genügend Jahre/Quartale produziert haben
- Sie müssen beitreten und einen Fremdschlüssel verwenden
Wenn Sie die Daten mit dem Datensatz speichern, wird die Leistung bei Lesevorgängen verbessert. Ihre Tabelle kann klein sein, aber es ist immer gut, die Leistung im Auge zu behalten.
WARUM
Stellen wir uns vor, Sie brauchen
In diesem Fall benötigen Sie einen deckenden Index auf alle Artikel und hilft immer noch nicht, da sich Ihre Abfrage auf ein bestimmtes Quartal und nicht auf ein Quartal bezieht. Die Daten auf dem Tisch zu haben, hilft jedoch bei einem leichteren Ausführungsplan.