vgeta
Messages postés3Date d'inscriptionmardi 31 décembre 2002StatutMembreDernière intervention23 janvier 2003
-
31 déc. 2002 à 12:44
vgeta
Messages postés3Date d'inscriptionmardi 31 décembre 2002StatutMembreDernière intervention23 janvier 2003
-
23 janv. 2003 à 16:41
salut tt le monde,
je développe un programme sous visual basic 6 avec une base SQL Server et la technologie ADO.
Mon problème est que le temps d'accès à un enregistrement en ajout ou en modification devient extremement lent (au point de provoquer un dépassement de délai et donc la non mise-à-jour de la base) au fur et à mesure que la base grandit. Par exemple avec 10 000 enregistrements les temps sont satisfaisants, à 30 000 ça devient vraiment lent mais ça marche toujours, et à 100 000 ça marche plus du tout.
J'ai essayé toutes les méthodes (que je connais) c'est à dire le recordset.Find ou le recordset.open "select / update* ..." , le recordset.AddNew ou le recordset.open "insert into ..." avec le recordset.Update au final qui ne marche pas non plus.
Il ya forcement un moyen car en théorie on peut utiliser SQL Server pour les grosses bases!
Donc si qqun pourrait me sortir de cette impasse, ça serait vraiment cool !!!
cs_hgrandsart
Messages postés44Date d'inscriptionsamedi 6 juillet 2002StatutMembreDernière intervention 4 décembre 2011 13 janv. 2003 à 01:37
hgrandsart
Bonjour Vgeta
J'ai eu l'occasion de developper pour un client,un prog utilisant une base SQL SEVER de 3 Millions D'ENRs
et une extraction d'environ 1 Million ne prenait que 3 a 4 secondes (Sur requete SQL). Tu peux essayer de modifier ton type de curseur
par exemple adLockOptimistic, Mais oriente toi plutot vers le réseau. Une bécanne qui jacasse sans arret et la bonjour les dégats Ex un protocol NETBEUI oublié sur une bécanne ou tout simplement un trop gros trafic
voila. Bonne prog @+
vgeta
Messages postés3Date d'inscriptionmardi 31 décembre 2002StatutMembreDernière intervention23 janvier 2003 23 janv. 2003 à 16:41
C BON !! j'ai trouvé ... le problème venait d'un recordset ki stoque tous les enregistrements pour l'affichage dans une liste et ki était ouvert par défaut en "dynamic" ce ki saturé probablement SQL Server lors de la modification ou de l'ajout de nouvel enregistrement. Il suffisait donc d'ouvrir ce recordset en mode "static".
Merci en tout cas pour vos réponses. et bonne prog!