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 : probleme de rapidité de recherche [ Algorithme / Maths ] (hbvb6)

samedi 5 avril 2008 à 12:23:18 | probleme de rapidité de recherche

hbvb6

Bonjour

je travail sur une application qui utilise la base de données  access97
j'ai une table "journal" qui a 500 000 enregistrement s
pour afficher le contenue de la table dans un DBGrid  j'ai relie le DBGrid avec Data1 et j'ecris dans le code

data1.recordsource="select * from journal"
data1.refresh    " et la j'ai un serieu probleme de rapidité il me faux a peu pré  60seconds pour voir les resultats et c'est trop"

est ce que il y'a une methode de recherche plus rapide .

merci d'avance

HB

samedi 5 avril 2008 à 12:51:05 | Re : probleme de rapidité de recherche

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

DBGrid ?? C'est un contrôle VB6 cà ? Ne serait-ce pas l'ancien contrôle DataGrid de VB5 ?

Quel est l'intérêt d'afficher 500 000 enregistrements dans une grille ??? Tu devrais plutôt proposer à l'utilisateur de saisir un filtre avant de charger la liste des données, ce serait plus pratique à utiliser, et plus rapide à exécuter !
______________________________________
DarK Sidious

samedi 5 avril 2008 à 12:58:50 | Re : probleme de rapidité de recherche

hbvb6

Salut
merci pour la repense

mais le probleme n'est  pas dans le DBGrid je peux utiliser un autre controle..!! ,

le probleme est dans la requete,  meme si j'utilise un fitrage entre une date et une autre le probleme reste le meme

exple
data1.recorsource="select * from journal where date_action =Date "
data1.refresh  "le probleme reste le même "

je ne sais quoi faire


samedi 5 avril 2008 à 13:08:33 | Re : probleme de rapidité de recherche

Exploreur

Membre Club

Salut,

A defaut quand je charge une listwiev(c'est un exemple) avec X records, je la passe a Visible =False, essaye de faire la même chose avec ton DataGrid, tu gagnes du temps en insertion de donnees...

Ps : Excusez ñoi pour les fautes, lol, je n'aie pas l'habitude d'un clavier qwerty et espagnol...

DarkSidious >> Salut, cela fait un petit momemt que l'on ne te vois plus trop sur le forum

A+
Exploreur

 Linux a un noyau, Windows un pépin


samedi 5 avril 2008 à 13:18:33 | Re : probleme de rapidité de recherche

hbvb6

Salut

merci pour la repense

mais j'ai dis que j'ai pas un probleme de composant ou de chargement de composant le probleme est dans la requete . meme si par exemple je veux savoir le nombre d'enregistrement , avec ce nombre d'enregistrements il y'a toujours le probleme de rapidité

merci
HB

samedi 5 avril 2008 à 13:22:59 | Re : probleme de rapidité de recherche

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Exploreur >> On me voit plus trop sur VBFrance à cause des boulets qui traînent par ici et qui posent des questions qui n'ont rien à voir avec VB, ou qui postent dans les mauvais forums, ou qui posent des questions qui ont déjà été posées 40 000 fois avant, etc.
De plus, je fais plus vraiment de VB maintenant : Java powaa !!!! Quel plaisir de faire du Java comparé à VB ! Plus rien à voir !
Puis il me tarde de voir le prochain VB... est-ce que microsoft osera une fois de plus sortir un VB totalement incompatble avec VB.NET 3 comme ils ont l'habitude de faire Je me marrerais bien

hbvb6 : si tu fais une requête avec un critère, ca devrait normalement être bien plus rapide (puisque beaucoup moins de données à lire/afficher). Essaye de changer de contrôle : passe au Datagrid plutôt (plus récent, bien que datant de 1998 !!!). Idem pour le contrôle Data, utilise plutôt le ADODC qui est plus d'actualité (bien que lui aussi datant de 1998 et oublié depuis des lustres de microsoft !).

Le principe du datagrid étant de n'afficher que ce qui a besoin d'être affiché, l'astuce de notre ami exploreur n'est pas valable : qu'il y ai 100 000 enregistrements ou 10, il devrait mettre autant de temps pour l'affichage (c'est ce qui le rend aussi rapide comparé au ListView !).
______________________________________
DarK Sidious

samedi 5 avril 2008 à 13:27:40 | Re : probleme de rapidité de recherche

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Autre chose au passage : Access, c'est bien, mais c'est fait pour des petites bases de données ! Dès que tu dépasses les 100 000 enregistrements dans une table, il est complètement largué niveau rapidité (et tu en as ici la preuve).

Est-ce que ta table possède des champs de longueur importante (style des champs de type Mémo, qui sont plus lents à lire que les champs de type texte), est-ce que tes tables sont indéxées ?

De plus, quel est l'intérêt de faire un SELECT * sur autant d'enregistrements ? Essaye de n'extraire que les champs qui te sont vraiment utiles, tu y gagnera pas mal en rapidité !

Peut-être devrais-tu aussi envisager d'utiliser un autre système de BD... qui ne se base pas sur un seul fichier...


______________________________________
DarK Sidious

samedi 5 avril 2008 à 13:57:33 | Re : probleme de rapidité de recherche

Exploreur

Membre Club
DarkSidious >> Tu nous fait la crise de la quarantaine...lol...

Desole...DarkSidious...mais quand je mets ma ListView en visible = False, je gagne du temps..certes pas enorme, mais suffisant pour moi...

A+
Exploreur

 Linux a un noyau, Windows un pépin


samedi 5 avril 2008 à 14:15:03 | Re : probleme de rapidité de recherche

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Lol, non je suis un peu comme f0xi : marre de répéter toujours les mêmes choses : en 3 ans, ca use !

Concernant ton astuce, elle marche très bien pour le listview, car tu ajoute les éléments un par un, et cela provoque un refresh à chaque ajout, mais le Datagrid (et je pense que le DBGrid fait la même chose) lui se contente de faire un refresh uniquement des éléments affichés, d'où la différence flagrante de performances entre ces deux contrôles !
______________________________________
DarK Sidious

samedi 5 avril 2008 à 14:51:46 | Re : probleme de rapidité de recherche

hbvb6

salut
en effet je fait la migration en SQL server , mais en attendant il faut que je regle ce probleme de rapidité


1 2 3

Cette discussion est classé dans : table, recherche, probleme, data1, rapidité


Répondre à ce message

Sujets en rapport avec ce message

Probleme de recordcount [ par patl76 ] Alors voila : Je voudrais recuperer le nombre d' enregistrements de ma table mais apparament j' ai du faire une erreur : sqlQuery = "SELECT * F Probleme avec datagrid [ par alexaudiau ] Quelqu'un connaIt - il le code pour afficher le contenu d'une table access dans une datagrid? l utilsateur doit pouvoir changerde table en cliquant s mysql et vb probleme de count [ par foufidou ] salu tou le monde,jai une bd avec myql  j 'execute une requete count(*) pour requperer lenombre de colonne dans ma table.le probeme c ke je veu recupe VBA rechercher dans une colonne [ par lolpop ] Bonjourj'ai un petit probleme de recherche, j'utilise la fonction fin() mais le probleme c'est que si ce que je recherche existe plusieur fois il ne m Probleme avec InputBox [ par survivorr ] Bonjour tout le monde.J'utilise InputBox pour saisir le critére de recherche, quand je clique sur OK, ça marche j'ai un resultat , mais quand je cliqu probleme de suppression dans une chaine de caractere [ par Link49 ] Bonjour à tout le monde! Voila j'ai un probleme, je recherche dans une chaine de caractere le caractere " (double quote) afin de le supprimer! Mais j' Orber by <:-) requete sql (trier une table ACCESS) [ par el_teedee ] Lut, voici le problème :je fais une recherche par requete :requete = "SELECT * FROM FACTURE WHERE " & r0 & " ORDER BY [Order] ASC"ma strin Recherche d'enregistrement dans une table [ par gbegnonghislain ] Salut à tous, J'ai un petit pb que voici.  J'ai une base de données en access avec des tables telles que "bulletin" et "employé".En vb, j'ai connecté probleme de recherche destination fichier [ par theice ] bonjoursje travaille sur excel et j'utilise des macros pour afficher des feuilles excels se trouvant dans un dossier situer sur ma clé USB.Je ne trouv recherche dans une table [ par FRANCISKO02 ] Bonjour, je voudrais modifier un fichier access2000 en vba.J ai une table avec :                               - n° utilisateur<b


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



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é.