Voila j'ai crée une base de données assez conséquente (environ 540 Mo) et j'ai une table nommé protéine qui doit etre mis a jour, cette table contient environ 600 000 entrées. Pour mettre a jour cette page je dispose d'un fichier csv de 200Mo.
J'ai essayé pas mal de chose mais tous s'avère ultra lent voici ma méthode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$requete="select ACCES_NUMBER from protein ";
$result=mysql_query($requete);
while ($ligne = mysql_fetch_assoc($result))
		{	
				$tab_acces_nb[]=$ligne['ACCES_NUMBER'];
				}
 
$nom_fichier="uniprot.emblformat.parse";
$fichier=fopen($nom_fichier,'r');
while (!feof($fichier)){
			$ligne = fgets($fichier,4096);
			$liste=explode("\t",$ligne);
			$id_uniprot=$liste[0];
			$acces_id=$liste[1];
			$go=$liste[3];
			if (in_array($acces_id,$tab_acces_nb)){
				$requete="update protein set id_uniprot='$id_uniprot',go='$go' where acces_number='$acces_id' ";
				mysql_query($requete) or exit("Erreur : ".mysql_errno());
				}
 
			}
fclose($fichier);
Avez vous une solution plus rapide s'il vous plait car la c'est vraiment mais alors vraiment long j'ai laissé tourné 8h et ca n'était pas fini