WD3x23
Je test ta solution
Ça fonction mais je suis très loin d'un traitement rapide.
En fait, ça prend autant de temps que ma méthode d'avant.
Je fais une erreur quelque part selon toi ?
WD3x23
Je test ta solution
Ça fonction mais je suis très loin d'un traitement rapide.
En fait, ça prend autant de temps que ma méthode d'avant.
Je fais une erreur quelque part selon toi ?
Les solutions les plus simples sont les plus efficaces
Cela met combien de temps ? Toujours 4 min pour 8 000 000 enregistrements ?
Moi, je trouve ça plutôt rapide. On parle quand même de plusieurs millions d'enregistrements
Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.
Sur internet, tout est vrai ! Honoré de Balzac
Make it real not fantasy... Herman Rarebell
Passer par un seul select sera de toutes façons limité. L'instruction INSERT est une chaine, et sa longueur est limitée. Beaucoup plus limitée qu'une chaine quelconque. Au mieux, on va remplacer 1000 Hajoute par 1 insert.
N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.
a vue de nez, je dirais 1 heure pour 10 000 000
Les solutions les plus simples sont les plus efficaces
j'ai pas compris ton propos tbc92, dsl
Les solutions les plus simples sont les plus efficaces
le code peut etre amélioré, si tu as 1h pour 10 000 000 c'est pas mal vu la quantité. j'ai essayé avec un ordi plu ancien au travail et je met 12' pour FANTOIR 8 000 000 en ssd
on aurra essayé
tu peu essayé les taches paralleles comme dans cette video https://www.youtube.com/embed/ZSlMWW...l=0&autoplay=1
Je suis d'accord avec @WD3x23 pour les taches paralleles. Je les ai déjà utilisées et effectivement ça change beaucoup de choses.
Philippe,
N'hésitez à lever le pouce si mon aide vous a été utile.
J'ai un doute pour les tâches //
J'écris dans un fichier de données donc je vois pouvoir lancer l'écriture de 2 enregistrement en même temps
Les solutions les plus simples sont les plus efficaces
Les perfs d'ajout de 10 millions de ligne en 1h, je dis wouahou
Ici j'ai d'autres contraintes qui ne me permettent pas le hEcrit; néanmoins, un refurbish du code pourrait rendra ça possible (je dois moi aussi intégrer des CSV de plusieurs dizaines de milliers de ligne dans des bases HF). Jusque là on y arrive très bien mais ce fil de discussion m'intrigue beaucoup.
Je vais prendre le fichier FANTOIR et mener des tests aussi, suis curieux de voir si je peux atteindre des perfs équivalentes
En C/S je suis d'accord, mais en Classic pour l'avoir vu souvent (blocage du fichier, corruptions d'index, corruptions de fic), non, il ne sait pas. A moins bien sûr que les blocages aient été explicitement bien gérés par le développeur lui même. Mais de mon expérience, ça a tendance à limiter la casse sans pour autant régler le problème.
+1 kunnskap,
HF classic ne gère absolument rien...
Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.
Sur internet, tout est vrai ! Honoré de Balzac
Make it real not fantasy... Herman Rarebell
Je n'avais pas lu que c'était du Classic. Il m'avait semblé voir C/S quelque part.
Cela dit, pour moi HF Classic n'est pas un SGBD. D'ailleurs HFSQL n'en est un qu'à moitié vu les lacunes du moteur.
Philippe,
N'hésitez à lever le pouce si mon aide vous a été utile.
Philouz,
Tu as bien lu, j'ai fait un test en CS mais rien de mieux à priori.
Mon dernier test et celui qui me semble le plus "stable"
- Je traite 2 fichiers : 1 de 2.5 go et 1 de 5.5 go
- Je commence par découper ces fichiers en plusieurs par tranches de 1 000 000 de lignes
- Ensuite, je lis les fichiers obtenus les un après les autres et je recupère les données dans du HF Classic
- Ca prend du temps évidement mais ça ne plante pas
- Je confirme que la réindexassions est nécessaire car la taille des fichiers index est divisée par 3 en gros
- Je le fais uniquement à la fin car j'ai l'impression que c'est gourmand en temps cette affaire là. Y'a t'il moyen de ne reindexer qu'une partie du fichier ?
- Au final, ça prend en gros 4h pour 50 000 000 d'enregistrements créés. J'aurais aimé un traitement plus rapide mais ça semble difficile.
- Petit bug : J'avais l'intention d'alimenter une petit jauge histoire de vérifier que ça avance mais elle ne marche pas correctement. Au début ça fonctionne mais à un moment donné, elle se fige ou/et la seule fenêtre du projet se réduit. J'avoue ne pas comprendre car la procédure fonctionne puisque les lectures/ecritures se font et on voit clairement que les fichiers de données prennent du volume. La jauge est censée être alimentée au même moment. Ca semble assez érratique en fait. Mon ordinateur ne se mets pas en veille pourtant. Pas grave mais curieux.
Je vais continuer de fouiner pour essayer d'améliorer tout ça.
Merci de votre aide à tous
Les solutions les plus simples sont les plus efficaces
Pas très surpris par le temps. C'est assez normal car, je pense qut on fichier ne comporte pas que 3 rubriques...
Pour la jauge, il faut de temps en temps (toutes les 1000 lignes par exemple), faire un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 multitâche(-1) multitacherepeint(mafenêtre)
Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.
Sur internet, tout est vrai ! Honoré de Balzac
Make it real not fantasy... Herman Rarebell
Merci frenchsting,
Y'a pas tant de rubrique que ça mais je ne recupère pas tout
Je suis d'ailleurs pas certain que dans récupérer plus allongerais beaucoup le temps.
J'ai testé un code qui recupérait tout avec la fonction HImporteTexte et c'était assez similaire en temps de mémoire
Je vais tester
Les solutions les plus simples sont les plus efficaces
Je me suis mal exprimé : plus ton fichier HF comporte de rubriques, plus ce sera long.
Logiquement, le nombre de rubriques de ton fichier HF est "similaire" au nombre de rubriques "utiles" dans ton fichier texte.
Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.
Sur internet, tout est vrai ! Honoré de Balzac
Make it real not fantasy... Herman Rarebell
Perso j'aurai quand même utilisé les taches parallelles en C/S
Philippe,
N'hésitez à lever le pouce si mon aide vous a été utile.
bon, j'arrive pas à faire mieux que 4 heures pour 20 000 000 d'enregistrements créés dans 2 fichiers HFC
Maintenant c'est la requête qui prend des plombes, et c'est rien de le dire
J'ai indexé les rubriques de filtrage mais c'est looooooooong
Les solutions les plus simples sont les plus efficaces
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager