Novosti, Digitalizacija, Poslovna rješenja, Opšte teme
Optimizacija u PANTHEON-u
Redovno vršimo optimizacije u PANTHEON-u. Čistimo i pregledavamo kod i dodajemo nove funkcije. Ovime postižemo bolji i brži rad PANTHEON-a. U nastavku objavljujemo intervju na ovu temu s Domenom Lukačičem, PANTHEON konsultantom iz kompanije Datalab SI d.o.o.
Koje smo optimizacije implementirali u PANTHEON-u ove godine?
Prošle godine smo prešli na MS SQL 2016, a ove godine prelaskom na MS SQL 2017, kao najnižu verziju servera podataka, dobili smo dodatne nove sistemske funkcije. Oni su nekoliko puta brži u radu i koriste se kroz cijeli program. Dozvolite mi da predstavim neke optimizacije;
- Dodali smo novi argument PERSISTED koji omogućava fizičko skladištenje izračunatih vrijednosti u tablicama.
- Također smo pojednostavili kodove tako što smo uklonili funkcije formatiranja ključeva.
Da sumiramo, u praksi to znači ubrzanje, jer više nema preračunavanja polja u hodu, prema podešavanjima u parametrima. A sada idemo na upite. Ako želimo dobiti velike količine podataka, to može potrajati. Što smo napravili u ovom području?
Prvo ćemo se dotaknuti optimizacije svih upita za izračunavanje dnevnih stopa. Tablicu smo popunili podacima za 5 narednih godina, tako da smo se oslobodili implementacije sporih funkcija i left-join-a i na taj način ubrzali rad s podacima i prikaz podataka na dokumentima.
Što se tiče performansi, sam upit se izvršava 84% brže.
Ostanimo na upitima. Skalarne funkcije su zamijenjene tabelarnim funkcijama. Šta nam ovo donosi?
Skalarne funkcije preračunavaju podatke jedan po jedan, dok tabelarne funkcije preračunavaju sve podatke odjednom.
Ovime smo postigli mnogo brže izvršavanje SQL upita i manje opterećenje servera.
Također smo promijenili naše funkcije za razdvajanje nizova znakova ili stringove i modificirali ih da koriste MS SQL funkciju za koju se ispostavilo da je mnogo brža.
Pored toga, uklonili smo skoro 50 linija koda za razdvajanje stringova.