, , ,

Optimizacija v PANTHEON-u

12 Okt 2022

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;

Optimizacija kode

  • 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?

 

Optimizacija poizvedb

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?

 

Tabelarične funkcije

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.

Uporaba MS SQL funkcije

Ne zamudite podjetniških novosti in nasvetov

V kolikor bi si želeli mesečno v svoj e-nabiralnik prejeti uporabne vsebine, pisane na kožo vaši dejavnosti in vašim interesom, to zabeležite v obrazcu.

X