Diese Seite mit anderen teilen ...

Informationen zum Thema:
Forum:
WinDev Forum
Beiträge im Thema:
4
Erster Beitrag:
vor 2 Wochen
Letzter Beitrag:
vor 1 Woche, 6 Tagen
Beteiligte Autoren:
Arie, Giovanni Carella

WD21 - Optimize HAdd SQLite

Startbeitrag von Giovanni Carella am 13.07.2017 10:44

Hi all,
my application use MySql but i have create a procedure that create SQLite data file.
This file is send to an android device.

There is a method to optimize the HAdd.


HCreationIfNotFound(ArticoliMobile)
HDeleteAll(ArticoliMobile)
HExecuteQuery(QRY_WEB_Leggi_Articoli,hQueryDefault,tabvar.tava_anno_lav,tabvar.tava_dep_prin,gsAzienda,20000101000000)
HReadFirst(QRY_WEB_Leggi_Articoli)
PROGBAR_Progresso..MaxValue=HNbRec(QRY_WEB_Leggi_Articoli)
STC_TxtStatus="Compressione Articoli..."
WHILE NOT HOut(QRY_WEB_Leggi_Articoli)
PROGBAR_Progresso..Value+=1
ArticoliMobile.Azienda=QRY_WEB_Leggi_Articoli.AI_AZIENDA
ArticoliMobile.Codice=QRY_WEB_Leggi_Articoli.ai_codiarti
ArticoliMobile.Descrizione=QRY_WEB_Leggi_Articoli.AI_DESCRIZI
ArticoliMobile.CodiceIVA=QRY_WEB_Leggi_Articoli.AI_CODICIVA
ArticoliMobile.Listino1=QRY_WEB_Leggi_Articoli.AI_LIS_EURO1
ArticoliMobile.Listino2=QRY_WEB_Leggi_Articoli.AI_LIS_EURO2
ArticoliMobile.Listino3=QRY_WEB_Leggi_Articoli.AI_LIS_EURO3
ArticoliMobile.Listino4=QRY_WEB_Leggi_Articoli.AI_LIS_EURO4
ArticoliMobile.Listino5=QRY_WEB_Leggi_Articoli.AI_LIS_EURO5
ArticoliMobile.CateMerc=QRY_WEB_Leggi_Articoli.AI_CATEMERC
ArticoliMobile.FlNetto=QRY_WEB_Leggi_Articoli.AI_FL_NETTO
ArticoliMobile.GrupScont=QRY_WEB_Leggi_Articoli.ai_grupscon
ArticoliMobile.Note=QRY_WEB_Leggi_Articoli.AI_NOTE
ArticoliMobile.Barcode=QRY_WEB_Leggi_Articoli.ai_barcode
ArticoliMobile.UM1=QRY_WEB_Leggi_Articoli.AI_UNIMIS_1
ArticoliMobile.DataValLis1=QRY_WEB_Leggi_Articoli.AI_DAT_VALI1
ArticoliMobile.DataValLis2=QRY_WEB_Leggi_Articoli.AI_DAT_VALI2
ArticoliMobile.DataValLis3=QRY_WEB_Leggi_Articoli.AI_DAT_VALI3
ArticoliMobile.DataValLis4=QRY_WEB_Leggi_Articoli.AI_DAT_VALI4
ArticoliMobile.DataValLis5=QRY_WEB_Leggi_Articoli.AI_DAT_VALI5
ArticoliMobile.ArtDiRifer=QRY_WEB_Leggi_Articoli.ai_art_originale
ArticoliMobile.Costo=QRY_WEB_Leggi_Articoli.AI_COS_EURO
ArticoliMobile.Marca=QRY_WEB_Leggi_Articoli.AI_CAPOCODI
HAdd(ArticoliMobile)
HReadNext(QRY_WEB_Leggi_Articoli)
MultitaskRedraw(WIN_Web_InviaDatiMobile)
END
HFreeQuery(QRY_WEB_Leggi_Articoli)
PROGBAR_Progresso..Value=0

Antworten:

Giovanni,

use HTransactionStart() at the begin and HTrancsactionEnd() after all your HAdd-s are done. This will speed up a lot.

von Arie - am 13.07.2017 11:07
Otherwise Windev will execute EVERY HAdd within the scope of a transaction, with the additional overhead.
With a few records you will not notice the difference, but when it comes to hundreds or 1000+ is will slow down significally

von Arie - am 13.07.2017 11:16
Perfect.... thanks Arie

von Giovanni Carella - am 13.07.2017 15:14
Zur Information:
MySnip.de hat keinen Einfluss auf die Inhalte der Beiträge. Bitte kontaktieren Sie den Administrator des Forums bei Problemen oder Löschforderungen über die Kontaktseite.
Falls die Kontaktaufnahme mit dem Administrator des Forums fehlschlägt, kontaktieren Sie uns bitte über die in unserem Impressum angegebenen Daten.