Heart-Profit ERP

Heart-Profit Boards => Heart-Profit Releasenotes => Topic started by: Heart Informatisering B.V. on February 13, 2017, 11:15:28 am



Title: ADS - Reorganiseren Bestanden - Optie "Inclusief SQL indexen J/N"
Post by: Heart Informatisering B.V. on February 13, 2017, 11:15:28 am
Praktisch iedere tabel in Profit heeft één of meerdere indexen. Zo'n index betreft een sortering van de data in die tabel waardoor deze data sneller opgevraagd kan worden.

Naast de indexen die Profit zelf nodig heeft, hebben we sinds ADS ook nog een aantal SQL indexen toegevoegd. Dit zijn speciale indexen die binnen Profit zelf niet expliciet worden aangestuurd, maar die ADS zelf kan gebruiken, bijvoorbeeld wanneer er een SQL Query wordt uitgevoerd. Zonder deze SQL indexen zullen SQL Query's in de ADS database traag worden uitgevoerd. "Traag" is natuurlijk altijd een relatief begrip, en zolang een tabel tot ongeveer 1 GB groot is, valt e.e.a. nog best wel mee, maar, binnen ADS zijn tabellen die per stuk boven de 40GB al geen uitzondering meer, in welk geval SQL Query's zonder deze SQL indexen gewoonweg niet meer werkbaar zijn.

Toch bestaat er met ingang van deze Releasenote een formele optie om bij het Reorganiseren van Bestanden (Hoofdmenu-9-5-1) aan te kunnen geven dat een tabel zónder SQL indexen gereorganiseerd moet worden.

Normaal gesproken zullen we er nooit voor kiezen dit vinkje uit te zetten en zo toch, dan kiezen we er bewust voor dat SQL Query's misschien wel een faktor 1000x langzamer worden. Toch is er één situatie waarin we hier wél voor willen kiezen, nl. als er midden op de dag een crash heeft plaatsgevonden, en het hele bedrijf plat ligt, wachtend op de reorganisatie.

In een gegeven praktijksituatie duurt het reorganiseren van een tabel LOVM (20 GB) ongeveer 3,5 uur, waarbij deze tijd ruwweg te verdelen is in 2 uur voor 10 Profit-indexen, en daarna nog 1,5 uur voor 19 SQL indexen. In zo'n voorbeeld kunnen we, door het reorganiseren van SQL indexen achterwege te laten, de downtijd met 42% verkorten. Omdat in Profit zelf de SQL indexen alleen worden gebruikt bij grote bulk verwerkingen (statistieken, afsluiten perioden etc.) maar de SQL indexen niet gebruikt worden voor de normale handelingen als "Toevoegen Verkooporder, Leveren, Faktureren etc.", kan expliciet de keuze worden gemaakt om tijdelijk de tabel zónder SQL indexen te reorganiseren en dit op een later moment te doen wanneer we daar meer tijd voor hebben (bijvoorbeeld in het weekend). "Even geen statistieken kunnen draaien" is dan ondergeschikt aan "met z'n allen niet kunnen werken".

FunktieOmschrijvingDtm.Vl.WyzDtm.L.Wyz
LOBHOI      Reorganiseren Bestanden    03-10-2016    13-02-2017
LOBHOIVA    Omschrijving (nog) niet bekend    30-03-2015    13-02-2017
SYBHOIDD    Omschrijving (nog) niet bekend    10-02-2017    13-02-2017
SYBHOILI    Omschrijving (nog) niet bekend    05-08-2016    13-02-2017
SYSS        Omschrijving (nog) niet bekend    06-02-2017    13-02-2017