Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour à tous,
Je rencontre des problèmes de lenteur lors de l'un de mes script incrémental.
La table actualisé : [Détail Commande]
Actuellement mon QVD [Détail Commande] contient plus de 106 millions de lignes,
Lorsque mon script vas chercher la date max du champ "LastUpdateDate" de ma table [Détail Commande] cela prend 25 min.
Ci-dessous la partie du script qui vas chercher le max du champ "LastUpdateDate"
Tmp:
Load
Max(LastUpdateDate) AS max_dt
From
[$(vFileName)] (QVD)
;
J'ai pensé à deux choses pour pour pallier à ce problème, mais j'aimerais avoir votre avis d'expert
- intégrer dans un fichier annexe la dernière ligne charger de ma base (qui devrait être la ligne avec le "LastUpdateDate" max)
- intégrer un champ dans mon QVD "MaxLastUpdateDate" qui serait écrasé avec la valeur du champs "LastUpdateDate" max chargé à chaque chargement
Je reste bien évidement à votre disposition pour toutes demandes de renseignements supplémentaires
Merci d'avance,
Non, les variables sont conservées durant le chargement, sauf bien sur si elles sont modifiées par le script de chargement.
Tu trouveras en pièce jointe un exemple basé sur ton chargement.
Lorsque tu ouvres l'application, elle ne contiendra ni la variable, ni les données.
1er chargement:
2ème et prochain chargement:
Pour moi, c'est la bonne practice, en la combinant avec ma dernière proposition (Histo) ont résout le problème de volumétrie des QVD en ne faisant pas un seul Histo, mais plusieurs (un par année).
Franchement, je n'ai aucune idée de taille max supportée par un QVD. Mais ça reste un fichier sous Windows, donc je ne tenterai pas le diable.
Mais es-tu conscient que si tu avais un QVD de 1 Tera, tu aurais également une application d'un peu plus de 1 tera qui devra monter en mémoire sur ton serveur (en se décompressant). ==> Qu'as-tu comme serveur?
Peux-tu attacher un fichier contenant toute la partie de ton script permettant le chargement incrémental de ta table ?
Y a peut-être moyen de simplifier
Avec plaisir
Bonjour, mon probléme n'est pas encore résolu car j'ai des dates qui sont ex traitent de base de données mais leurs formats est le suivant: AAAAMMJJ sans séparateur.
Lorsque je veux faire une date canonique en nommant mes dates par le même nom et je crée après le calendrier de jour, mois et année j'ai des année en chiffre comme 57098.
Des solutions ou indications?
Merci à vous.
Je crois que tu t'est trompé de discussion ...
Par rapport au solutions que tu envisageais:
Autres solution :
Je trouve ton idée, d'intégrer le max "LastUptdateDate" du dernier chargement dans une variable, très bien.
Par contre je pensais que le rechargement écrasait toutes les variable, peux tu m'expliquer un peu la manière de procéder.
J'aimerais aussi avoir ton avis sur "La best practice",
Désolé, mais ta réponse à généré une autre question, au vus de la volumétrie du QVD (106 Millions de lignes) sachant que chaque jours je rajoute entre 500 k et 1 M de lignes, es ce que je devrait enlever 2016 de mon QVD pour le stocker à part et avoir un QVD moins volumineux.
Et à partir de combien de Go est il dangereux d'utiliser un QVD, (peut être mal formulé, mais je pense qu'un QVD d'un Tera est trop problématique à utiliser)
Non, les variables sont conservées durant le chargement, sauf bien sur si elles sont modifiées par le script de chargement.
Tu trouveras en pièce jointe un exemple basé sur ton chargement.
Lorsque tu ouvres l'application, elle ne contiendra ni la variable, ni les données.
1er chargement:
2ème et prochain chargement:
Pour moi, c'est la bonne practice, en la combinant avec ma dernière proposition (Histo) ont résout le problème de volumétrie des QVD en ne faisant pas un seul Histo, mais plusieurs (un par année).
Franchement, je n'ai aucune idée de taille max supportée par un QVD. Mais ça reste un fichier sous Windows, donc je ne tenterai pas le diable.
Mais es-tu conscient que si tu avais un QVD de 1 Tera, tu aurais également une application d'un peu plus de 1 tera qui devra monter en mémoire sur ton serveur (en se décompressant). ==> Qu'as-tu comme serveur?
Nous n'avons pas vraiment un serveur mais plutôt une grosse station de travail,
Processeur 32 cœurs
512 Go de RAM
20 To de HDD
1 To de SSD
Y a déjà de quoi faire 😉
Comme tu peux le lire ci-dessous, la limitation pour QlikView est seulement dans le nombre de valeur distinct par champs, mais ce genre de champs sont principalement des clés (comme ton champ id).
Limitations de la quantité de données à charger
La quantité de données pouvant être chargées dans un document QlikView est très importante. Elle est surtout limitée par la mémoire principale de l'ordinateur. Cependant, il existe une limitation inhérente à QlikView dont vous devez tenir compte lors de l'élaboration de documents volumineux. Un document QlikView ne peut pas comprendre plus de 2 147 483 648 valeurs distinctes dans un champ.
Le nombre de champs et de tables, de même que le nombre de cellules de table et de lignes de table, pouvant être chargés, est uniquement limité par la RAM disponible.