Da, index je obavezan.
Mada mislim da ti fali i neko vreme jer sumnjam da ima smisla uvek vracati sve rekorde za agenciju.
Pogledaj i kako se radi particionisanje tabele. To je najcesce prvi korak kada stvari krenu da rastu.
https://docs.microsoft.com/en-...-indexes?view=sql-server-ver15
Problem je sto vecina strategija (sem geografskih mada i to moze biti problematicno ako imas cross-region feature) zavisi od toga sta tvoja aplikacija radi.
Da li ces imati veliki broj transakcija?
Da li ti je bitan strong ili eventual consistency?
Da li ti treba fuzzy search i pritom imas milione rekorda?
Da li ti treba millisecond vreme za vracanje specificnog recorda i pritom ce biti hiljade upita u sekundi?
Ne postoji magicni put koji ce resiti sve. Pocni od dizajna aplikacija, vidi kakav ce biti usage pattern, gde ocekujes rast i onda vidi sta ti odgovara.