anbariota
Messages postés6Date d'inscriptionlundi 26 novembre 2007StatutMembreDernière intervention19 juillet 2010
-
8 avril 2009 à 17:29
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 2021
-
10 avril 2009 à 11:33
Slt,
jai deux fichier en entree personnes.csv (personnesID,nom) 3000 lignes et peresfils.csv(pereID,filsID) 60000
donc chaque personne dans personnes.csv a 30 fils et les fils sont aussis des peres dans certains cas...
la je veux marcher jusquau 5eme generation en comparaison le nom du pere avec les noms de ses fils et pour chaque fils on compare le nom du pere avec ses fils :
pere_nom avec fils_nom avec fils_nom 4 fois
jai lu les deux fichier .CSv avec csharp et je lai mis dans un BDD access
jen ai a la fin le code suivant :
for i de 0 à 3000(por chaque personnes)
{
tbgeneration1= tabelau resulat de la requette de BDD des fils de i avec chacun son nom
for j de 0 à tb.count // 30 fois
{
comparaison des noms avec le nom du pere i la racine
tbgeneration2= tabelau resulat de la requette de BDD des fils de j avec chacun son nom
for k de 0 à tbgeneration2.count // 30 fois
{
comparaison des noms avec le nom du pere i la racine
tbgeneration3= = tabelau resulat de la requette de BDD des fils de k avec chacun son nom
for l de 0 à tbgeneration3.count // 30 fois
{
comparaison des noms avec le nom du pere initial i la racine
tbgeneration4= = tabelau resulat de la requette de BDD des fils de l avec chacun son nom
for m de 0 à tbgeneration4.count // 30 fois
{
comparaison des noms avec le nom du pere initial i la racine;
}
}
}
}
messagebox.show("job done");
}
ca prends 3 jours pour faire l'execution ....
il ya pas une solution pour resoudre le probleme de temps ou il ya pas une autre methode pour arriver au peres_fils qui ont le meme nom ....
crdl
A voir également:
Manipulation et traitement des données des grands fichiers
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 8 avril 2009 à 19:17
for i de 0 à 3000 {
for j de 0 à tb.count /* 30 ? */ {
for k de 0 à tbgeneration2.count /* 30 fois ? */ {
for l de 0 à tbgeneration3.count /* 30 fois ? */ {
for m de 0 à tbgeneration4.count /* 30 fois ? */{
}
}
}
}
}
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 8 avril 2009 à 20:19
0.5sec/iteration, ben dis-donc ! C'est des requêtes escargot ...
Tu peux eventuellement casser la boucle une fois que tu as trouvé ton bonheur, mais bon ... que ce soit 10 ou 20 ans, on est plus à dix ans près :}
Cordialement, Bacterius !
Vous n’avez pas trouvé la réponse que vous recherchez ?