Moje avanture s optimizacijom SQL upita u velikim bazama podataka
Ja sam prošao kroz brojne projekte gdje su performanse baze podataka bile ključne, a optimizacija SQL upita često je bila ta nit koja je držala sve na okupu. Sjećam se jednog slučaja u velikoj financijskoj instituciji gdje smo imali terabajte podataka razbacanih po SQL Serveru, i svaki loš upit mogao je usporiti cijeli sustav na minute. Ja sam tada proveo tjednima analizirajući execution planove, jer sam znao da bez dubokog razumijevanja kako SQL Server obrađuje upite, nemaš šanse protiv skalabilnih problema. Hajde da prođemo kroz neke od tih lekcija koje sam naučio na terenu, jer mislim da će vam to pomoći ako se suočavate sličnim izazovima u svojim okruženjima. Počnimo od osnova, ali neću vas dosađivati trivijalnostima - pretpostavljam da već znate kako napisati jednostavan SELECT. Ja sam uvijek počinjao s indeksiranjem, jer bez pravih indeksa, SQL upit je poput vožnje automobila bez gume: ide, ali sporo i opasno. U jednom projektu, imali smo tablicu s milijunima redaka transakci...