Odbc et SQL Server : lenteurs de fetch

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Odbc et SQL Server : lenteurs de fetch

Odbc et SQL Server : lenteurs de fetch

par maheu » 23 oct. 2008, 10:55

Bonjour,

j'ai développé un script qui exécute des requêtes sur une base MSSQL à laquelle j'accède via un driver Pdbc et l'objet COM.
Jusque là pas de problème, mes requêtes s'exécutent rapidement par contre lorsque je vais chercher mes résultats cela prend un certain temps exponentiel en fonction du volume. Ex pour 26000 enregistrements mon script dépasse les 30 secondes d'exécution...
Voici mon code :

Code : Tout sélectionner

$dsn = "DRIVER={SQL Server}; SERVER={$MSSQL_SERVER};UID={$MSSQL_LOGIN};PWD={$MSSQL_PASS}; DATABASE={$MSSQL_BASE}"; $db = new COM("ADODB.Connection"); $db->Open($dsn); $requete = "SELECT * FROM TABLE"; $resultat = $db->Execute($requete); //Jusque là tout est instantané //C'est à partir de là que ça rame... $fetch_array = array(); $i = 0; while(!$resultat->EOF) { foreach($resultat->Fields as $key=>$obj) $fetch_array[$i][$obj->Name] = $obj->Value; $i++; $resultat->MoveNext(); } $resultat->Close();
Si quelqu'un à une idée pour optimiser tout ça ...

d'avance merci!