Novosti, Digitalizacija, Poslovne rešitve, Zanimivosti
Optimizacija v PANTHEON-u
Optimizacije v PANTHEON-u izvajamo redno. Čistimo in pregledujemo kodo ter dodajamo nove funkcije. S slednjim dosegamo boljše in hitrejše delovanje PANTHEON-a. V nadaljevanju na to temo objavljamo intervju z Domnom Lukačičem, svetovalcem za PANTHEON iz podjetja Datalab SI d.o.o.
Kakšne optimizacije smo v PANTHEON-u izvedli letos?
Lani smo prešli na MS SQL 2016, letos pa smo s prehodom na MS SQL 2017, kot najnižjo verzijo podatkovnega strežnika, pridobili dodatne nove sistemske funkcije. Te so v delovanju nekajkrat hitrejše, uporabljajo pa se po celotnem programu. Naj predstavim nekaj optimizacij;
- Dodali smo nov argument PERSISTED. Ta omogoča fizično shranjevanje izračunanih vrednosti v tabelah.
- Prav tako smo poenostavili kode z odstranitvijo funkcij za formatiranje ključev.
Če povzamemo v praksi to pomeni pohitritev, saj ni več sprotnega preračunavanja polj, glede na nastavitve v parametrih. Pojdimo pa sedaj na poizvedbe. V kolikor želimo pridobiti večje količine podatkov, to lahko traja kar nekaj časa. Kaj smo naredili na tem področju?
Najprej se dotaknimo optimizacije vseh poizvedb za izračun dnevnih tečajev. Napolnili smo tabelo s podatki za 5 let v prihodnost, tako smo se znebili izvajanj počasnih funkcij in left-joinov ter na ta način pohitrili delo s podatki in prikaz podatkov na dokumentih.
Performančno se tako sama poizvedba izvede 84 % hitreje.
Če ostanemo pri poizvedbah. Skalarne funkcije zamenjujemo z tabelaričnimi funkcijami. Kaj nam to prinese?
Skalarne funkcije preračunavajo podatek za podatkom, medtem ko tabelarične funkcije preračunajo vse podatke hkrati.
S tem smo dosegli precej večjo hitrost pri izvedbi SQL poizvedb in manjše obremenjevanje strežnika.
Zamenjali smo tudi naše funkcije za ločevanje znakovnih nizov oz. stringov in jih dodelali, da uporabljajo MS SQL funkcijo, ki se je izkazala za veliko hitrejšo.
Poleg tega smo odstranili skoraj 50 vrstic kode za ločevanje znakovnih nizov.