Optimalizace databáze je docela věda. Jedna z věcí, které se dají dělat, je vytváření indexů. Musíte je udělat tam, kde se hodí, naopak tam, kde potřeba nejsou, by být neměly, protože to zpomaluje. Dobrý tip pro začátek je v SQL Server Management Studiu zkusit proti té databázi pustit SQL dotazy, které generuje aplikace (můžete je snadno najít třeba pomocí nástroje SQL Server Profiler, anebo je prostě vykopírujete rovnou z aplikace). Dotaz si dáte do SSMS, v toolbaru, jak je tlačítko Execute, najdete podle tooltipu tlačítko Include Actual Execution Plan a to zakliknete. Po puštění dotazu se v dolní části okna místo dvou záložek Results a Messages objeví i třetí - Execution Plan. To je exekuční plán a vidíte na něm jednotlivé části dotazu, kolik která zabrala atd. Pokud ale dotaz trvá dlouho a je neefektivní, SSMS to zjistí a nad tím plánem vám vygeneruje přímo deklaraci toho indexu, co potřebujete, a co by měl pomoci. Není rozhodně dobré brát to 100% vážně, ale velmi často se to trefilo. Mějte na paměti, že v indexu by měly být všechny sloupce, podle kterých vyhledáváte.
|