|
Fichier de taille importante |
|
DSI WDF
Inscrit: 05/05/2004 13:46
Post(s): 314
|
Bonjour, J'ai crée un fichier produit d'environ 3 millions d'enregistrements et je souhaite faire une vue sur celui-ci. Voici mon code
MaVue est une Source de Données
HDésactiveFiltre(Produit)
SI HCréeVue(MaVue,Produit,"Famille","Famille","",hVueDistincte) ALORS
HLitPremier(MaVue)
TANTQUE PAS HEnDehors(MaVue)
SI MaVue.Famille<>"" ALORS
Trace(MaVue.Famille)
FIN
HLitSuivant(MaVue)
FIN
HDétruitVue(MaVue)
FIN
La création de la vue se déroule très bien et très rapidement mais dès la lecture du premier enregistrement le programme bloque et tourne dans le vide(avec le débug la flèche disparait). Pourquoi ??? Vraiment je comprends pas la raison le code semble correct pourtant
Contribution le : 25/08/2004 14:40
|
|
|
Re: Fichier de taille importante |
|
DSI WDF
Inscrit: 05/05/2004 13:46
Post(s): 314
|
Le moteur hyperfile de Windev supporte t'il vraiment un nombre d'enregistrements important ? Même le test d'une simple requête de type SELECT DISTINCT Famille FROM Produit met un temps innacceptable...
Produit possède 3 Millions d'enregistrements. Famille est une clé avec doublon. Le résultat de la requête aurait dû renvoyer une seule valeur !!!
Contribution le : 31/08/2004 09:24
|
|
|
Re: Fichier de taille importante |
|
Anonyme
|
Utiliseriez-vous une Smart pour livrer 10 tonnes de matériel à un client ? Probablement pas, vous allez prendre un gros camion (même si le vendeur de la Smart vous jure que c'est possible avec son auto). Sur un allez-retour, la smart sera probablement plus rapide (et encore...), mais sur la totalité du chargement, le camion arrivera bien avant.
C'est la même chose avec Hyperfile. Utilisez plutôt une vraie BD relationnelle (MySQL, Firebird, PostgreSQL...) et vos temps de réponse seront bien meilleurs.
Contribution le : 31/08/2004 13:42
|
|
|
Re: Fichier de taille importante |
|
Anonyme
|
Utiliseriez-vous une Smart pour livrer 10 tonnes de matériel à un client ? Probablement pas, vous allez prendre un gros camion (même si le vendeur de la Smart vous jure que c'est possible avec son auto). Sur un allez-retour, la smart sera probablement plus rapide (et encore...), mais sur la totalité du chargement, le camion arrivera bien avant.
C'est la même chose avec Hyperfile. Utilisez plutôt une vraie BD relationnelle (MySQL, Firebird, PostgreSQL...) et vos temps de réponse seront bien meilleurs.
Contribution le : 31/08/2004 13:42
|
|
|
Re: Fichier de taille importante |
|
DSI WDF
Inscrit: 05/05/2004 13:46
Post(s): 314
|
Vous n'avez pas tort sur le fond mais pcsoft se vante de pouvoir gérer 2 millions de milliards d'enregistrements par fichiers... Maintenant que toute la structure programme a été développée, il me faudrait trouver un moyen sûr de pouvoir gérer au moins 3 millions d'enregistrements sur les fichiers de traçabilité afin de gérer les statistiques associées. Quelle est la meilleure méthode ?
Contribution le : 31/08/2004 14:01
|
|
|
Re: Fichier de taille importante |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour, Utiliser de préférence lorsque cela est possible des techniques simples. 1 - Appliquer un filtre sur le fichier (Avec une ouverture en lecture seule si aucune modif n'est à effectuer)C'est plus rapide
CléParcours est une chaîne
HOuvre(Produit,hOLecture)//En lecture seule
CléParcours = HFiltre(Produit,Famille,"Famille","Famille")
2 - Effectuer un parcours simple sur le fichier
TraceDebut()
HLitPremier(Produit,CléParcours)
TANTQUE PAS HEndehors(Produit)
Trace(Produit,Famille)
HLitSUivant(Produit,CléParcours)
FIN
Ce mode de fonctionnement est certainement beaucoup plus rapide. Penser à desactiver si vous n'utilisez pas les HGere...() Cela accélèrera encore vos traitements.
Contribution le : 31/08/2004 17:59
|
|
|
Re: Fichier de taille importante |
|
Anonyme
|
Bonjour, 2 remaques Cette vue sans sélection va remonter des millions d'enreg en mémoire centrale, et peut être la saturer ! A quoi ça sert de remonter tout le fichier en mémoire ?
Ensuite, as-tu essayé avec la bêta de Hyperfile client/serveur ?
Contribution le : 31/08/2004 19:05
|
|
|
Re: Fichier de taille importante |
|
Anonyme
|
Bonsoir,
Tu confonds le concept de base de données avec celui de son type d'accès. Bien entendu Hyperfile est une base de donnée, mais son type d'accès par réseau la pénalise pour les requêtes qui remontent beaucoup d'enreg, je crois que la taille du fichier de départ n'a pas grande importance. Et de toute manières, il faudra revoir ça avec Hyperfile client/serveur, dont la bêta est dispo depuis ce jour !
Contribution le : 31/08/2004 19:11
|
|
|
Re: Fichier de taille importante |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonsoir Anonyme, Tu reste Anonyme mais ta remarque est tout a fait pertinente C'est comme ça que je vois moi aussi le fonctionnement du moteur Hyper File. Mais Là tu m'épates une Bêta version dispo oui mais OU, OU,OU !!!
Contribution le : 31/08/2004 22:25
|
|
|
Re: Fichier de taille importante |
|
DSI WDF
Inscrit: 05/05/2004 13:46
Post(s): 314
|
Bonjour, L'utilisation de la fonction DISTINCT dans une requête ou une vue donne les même temps de réponse que sur un parcours de fichier de type "Select * FROM Produit" ou bien HLitPremier,HLitSuivant. Néanmoins les résultats des enregistrements renvoyés par DISTINCT ne s'affichent qu'une fois tout le fichier lu alors que pour un parcours les enregistrements sont renvoyés au fur et à mesure de la lecture du fichier par le moteur. Le parcours est alors plus rapide pour l'utilisateur dans le sens où les données sont traitées pendant que d'autres enregistrements sont envoyés à traiter. Sinon j'aimerai bien savoir également ou me procurer cette fameuse version bêta
Contribution le : 01/09/2004 10:28
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|