Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1251 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Requete ou variable ???

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Requete ou variable ???

n°1346190
hacksi
Posté le 13-04-2006 à 16:00:28  profilanswer
 

Bonjour,
voila je voudrais savoir ce qui est le plus rapide entre faire une requete (dans une base de données access) et parcourir un chaine de caratères ?
Car en fait je dois regarder si une donnée x est deja insérée dans une table. Mais cela le fait environ 40000fois dans mon programme.
Donc par soucis de réduire le temps d'exécution de ma fonction vba je voudrais savoir comment rendre cette vérification optimale.
 
J'espère que vous avez compris ce que je voudrais savoir :).
Merci


Message édité par hacksi le 13-04-2006 à 16:01:36
mood
Publicité
Posté le 13-04-2006 à 16:00:28  profilanswer
 

n°1346235
olivthill
Posté le 13-04-2006 à 16:33:30  profilanswer
 

La requête est théoriquement plus rapide qu'une long parcours de chaîne. Mais cela dépend de l'indexation de la table et de la longueur du parcours.
 
Si c'est juste obtenir le nom du mois (janvier...) en fonction du numéro du mois, le parcours d'un tableau sera plus rapide. Mais si c'est pour trouver le nom d'une commune en fonction de son code postal, alors la recherche par une requête sera plus rapide.

n°1346242
hacksi
Posté le 13-04-2006 à 16:39:06  profilanswer
 

bin en fait je veux savoir si un equipement a déjà était inséré.  
Donc si j'utilise une requête celà donne :  

Code :
  1. 'on regarde si l'équipement existe déjà dans la table EQUIPEMENT
  2. Set tempreq = mabase.OpenRecordset("SELECT count(Id_equip) AS Nb_equip FROM EQUIPEMENT WHERE Libelle='" & temp & "'" )
  3.        
  4. 'On insere l'abréviation de l'équipement et son libelle si l'équipement n'existe pas encore
  5. If tempreq!Nb_equip = 0 Then
  6.   CurrentDb.Execute "INSERT INTO EQUIPEMENT(Abrev, Libelle) VALUES('" & Abrev_cour & "', '" & temp & "')"
  7. End If

n°1346251
olivthill
Posté le 13-04-2006 à 16:42:12  profilanswer
 

Oui, ça a l'air bien.

n°1346257
hacksi
Posté le 13-04-2006 à 16:44:55  profilanswer
 

Donc c'est cette méthode la plus rapide ???

n°1346274
olivthill
Posté le 13-04-2006 à 16:54:26  profilanswer
 

Pour la recherche en base, je ne vois pas vraiment d'autres solutions.
 
Par contre, pour des insertions, le problème se pose d'une manière très différente, car il existe l'insertion en masse (bulk comme disent les anglais) à partir d'un fichier texte, qui est bien plus rapide qu'une boucle de 40 000 insert.
L'insertion en masse se fait via l'importation de données externes, qui comporte l'option, relativement peu connue mais parfois utile, du fichier de spécifications (voir le bouton "avancé" dans l'un des écran d'importation).

n°1346284
hacksi
Posté le 13-04-2006 à 16:59:50  profilanswer
 

bin en fait tout au début j'importe une feuille excel dans access. A partir de la table créée du fait de l'importation de la feuille, je créé plusieurs table.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Requete ou variable ???

 

Sujets relatifs
Probleme variable de session et requete sql[Résolu][SQL]Résultat d'une requete dans variable.
PHP5 - Récupérer la variable d'une URL pour requête dans un flux XMLà l'aide : requete SQL : "FROM" variable ?
Comment inclure une variable dans une requête SQL ?Variable de variable et requete SQL
problème requete Sql avec variable[PHP] Requête sql avec une variable
Un variable dans le resultat d'une requete SQL[vba access]récuperer une requete select dans une variable
Plus de sujets relatifs à : Requete ou variable ???


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR