Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Traitement très lent [ Archives Visual Basic / Bases de données ] (cognac)

mardi 23 novembre 2004 à 07:19:07 | Traitement très lent

cognac

Bonjour,

Depuis plusieurs semaines je travail à monter un logiciel de traitement d'inventaire pour une librairie. Lors de mes tests avec 5 à 10 000 produits, le traitement (recherche etc...) étaient très rapide. Cependant je fais maintenant des test avec 120 000 produits (ce qui sera le minimum de produit en tout temps) et maintenant c'est très très lent. Je mattendais à une certain ralentissement mais pas à ce point, parfois ça prend presque 30 secondes pour trouver un produit. J'utilise access comme data base, est-ce la raison? Les cinq ordi son connecté à un serveur, la data base est sur le serveur.

est-ce que je devrais utilisé MS SQL Serveur? est-ce normal ou c'est mon coding qui est mal fait. S'il est possible qe ça soit mon coding dite le moi et je vais transmttre la açon que j'ouvre la data base.

Merci d'avance

Cognac

mardi 23 novembre 2004 à 08:29:39 | Re : Traitement très lent

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Tu peux peut-être accélérer largement le traitement en utilisant des index sur les champs de recherche si ce n'est pas déjà fait. Sinon, ca peux venir de la rapidité du réseau. Essaye d'optimiser tes requêtes également en les rendant moins complexes.
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer

mardi 23 novembre 2004 à 09:18:21 | Re : Traitement très lent

acive

Salut, éssaie de faire une recherche avec "FIND" :
Un exemple:
Private Sub command1_click()
Adodc1.Recordset.MoveFirst
'Recherche dans le champ "UserName" la chaine "Jean"
recherche = "Jean"
Adodc1.Recordset.Find "UserName = '" & recherche & "'", 0, adSearchForward, adBookmarkFirst
TestExistingLogin
End If
End Sub

Private Sub TestExistingLogin()
On Error GoTo 10 '(S'il ne trouve pas la recherche y a pas de focus sur le recordset donc ERREUR)
If UCase(Adodc1.Recordset("Pass")) = "MONPASS" Then '(Lit les autres champs)
MsgBox "OK", vbOKOnly, "OK"

Else
MsgBox "Mot de passe incorrect !... veuillez recommencer...", vbOKOnly, "Erreur d'identification !..."
End If
Exit Sub
10
MsgBox "Login incorrect !... veuillez recommencer...", vbOKOnly, "Erreur d'identification !..."
End Sub

Tu veras ca ira bcp plus vite

A+


A.C.I.V.E SARL
Automatismes Conception Informatique Vidéo Electronique

mardi 23 novembre 2004 à 10:13:00 | Re : Traitement très lent

Prince Charmant

Salut,

petite question : dans ton test la base était locale ou réseaux ?

Car il faut savoir que Access n'est pas un SGDB client/serveur. L'accès au BDD sur Access monopolise beaucoup de ressources réseaux et machines => ralentissement entre local et réseaux.
De plus ton réseaux à une vitesse limitée par rapport à celle du local : 100Mbauds (=> 12 Moctets / Secondes) contre 2Gbauds pour un disque local.

Enfin, il faut savoir qu'avec Access L'utilisation de recordset autre que Table nécessite le pré-chargement des données => temps certain pour beaucoup d'enregistrement... Même dans le cas d'une clause Where très restrictive, l'action de filtrage est effectuée sur ta machine => toutes les données passent sur le réseau !!!

Donc essaye de n'utiliser que des recordsert de type <<table>>, créer pour cela des index pour tes recherches et position la propriété "Index" de ton recordset avant d'effectuer la méthode "Seek" pour rechercher.

A+

mercredi 24 novembre 2004 à 21:55:03 | Re : Traitement très lent

cognac

Merci pour ces réponses. Je travail à appliquer vos conseils et vous reviens avec les résultats.

Cognac



Cette discussion est classé dans : base, serveur, data, traitement, lent


Répondre à ce message

Sujets en rapport avec ce message

Data Report avec base de données en access 2000 [ par bruno ] Le programme fonctionne correctement mais lors d'une demande d'un nouvelle affichage du rapport il me donne les anciens (+)enrregstrement alors que la Comment acceder a une base de donnée ACCESS placée sur un serveur internet [ par Robert ] J'ai pensé a le faire avec winsock mais il me faudrait un programme coté serveur qui tournerait tout le temps mais je ne peux pas le faire avec le ser Probleme data base excel avec vb6 [ par timat ] Avec "Data_Control.Recordset.Delete" une erreur est renvoyée : "erreur d'exécution '3617' Deleting data in a linked table is not supported by ISAM" Quant utiliser une base de donnée ? [ par holger ] Je demandait si je devais utiliser une base de donnée pour écrire un programme qui verait gérée des ressources de plusieurs fichier base de donée (pou (VB 6) Mettre a jour un data report [ par Yonathan ] Comment faire pour mettre a jour un état créé sous data report, en liaison avec une base de donnée qui elle est correctement mise a jour.Actuellement, Config data environment [ par Florian29 ] Je souhaite créer un setup qui contient ma base,elle est donc installée dans le répertoire ou la personne instale mon logiciel. Hors mon data environm comment se connecter à une base sql serveur en vb [ par delphi ] bonjour,j'ai une base développé en sql serveur et je cherche à me connecter par vb en adovoici mon codedim db as adodb.connectionset db as new adodb.c Path dynamique de la base de donnée dans un data environment [ par -=[ArsoN=- ] J'aimerais savoir si quelqu'un a déja donné un path dynamique ( par exemple en utilisant un string) quand vient le temps de nommer la base de donnée d Pb gestion base de données relationnelle [ par Galaita ] Hello,J'ai un projet à terminer et je débute en VB.J'ai une base access contenant 4 tbl liées entre elles et appliquant l'intégrité référentielle. Mon Gestionnaire de Base de données [ par Sébastien ] Aprés création d'une table de données, un clic droit sur le data control, ne fait pas apparaître la fenêtre "propriété du controle data".Comment faire


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.