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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


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.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2