Re: Vues et taille de pages

Posté par R&B le 9/1/2006 9:30:22
Hum !
Je vien de faire un petit test chronométré et j'avoue qu'il me laisse pantois !

Sur la même machine de développement et le même fichiers de 450000 enregistrements : le parcours avec vue (page = 50000 puis 5000) est de l'ordre du double que le parcours classique par enregistrement.

Il s'agit d'un code de recherche de doublons !
Vues :
sSrc est une Source de Données
cNom est une chaîne= "sSrc.ID"+pcFic
cListe est une chaîne
nliste est un entier
cCode est un entier sans signe sur 8
cCodeEnCours est un entier sans signe sur 8
SI HCréeVue(sSrc,pcFic,"ID"+pcFic,"ID"+pcFic,"",hVueDéfaut,5000) ALORS
	cListe=""
	cCode=0
	HLitPremier(sSrc)
	TANTQUE PAS HEnDehors(sSrc)
		cCodeEnCours={cNom,indRubrique}
		SI cCodeEnCours=cCode ALORS
			nliste++
			SI cListe<>"" ALORS cListe+=TAB
			cListe+=cCodeEnCours
		SINON
			cCode=cCodeEnCours
		FIN
		HLitSuivant(sSrc)
	FIN
	HDétruitVue(sSrc)
	SI nliste ALORS Trace(pcFic+" : ",cListe)
FIN


Classique :
cNom est une chaîne = pcFic+".ID"+pcFic
cListe est une chaîne
nliste est un entier
cCode est un entier sans signe sur 8
cCodeEnCours est un entier sans signe sur 8
cListe=""
cCode=0
HLitPremier(pcFic,"ID"+pcFic)
TANTQUE PAS HEnDehors(pcFic)
	cCodeEnCours={cNom,indRubrique}
	SI cCodeEnCours=cCode ALORS
		nliste++
		SI cListe<>"" ALORS cListe+=TAB
		cListe+=cCodeEnCours
	SINON
		cCode=cCodeEnCours
	FIN
	HLitSuivant(pcFic,"ID"+pcFic)
FIN
SI nliste ALORS Trace(pcFic+" : ",cListe)

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=14&topic_id=3332&post_id=14134