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

  FORUM HardWare.fr
  Programmation
  PHP

  Recherche csv VS recherche mysql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Recherche csv VS recherche mysql

n°935316
redrat
Posté le 02-01-2005 à 19:12:25  profilanswer
 

A votre avis une recherche dans un fichier csv est elle plus ou moins rapide que la même recherche dans une table mysql ?
Il s'agit de fichiers/bases de + de 10000 enregistrements

mood
Publicité
Posté le 02-01-2005 à 19:12:25  profilanswer
 

n°935323
esox_ch
Posté le 02-01-2005 à 19:28:58  profilanswer
 

Il y a quelques temps j'avais posé plus ou moins la même question que toi (c'était des fichers texte) et on m'avait repondu qu'une requete SQL est toujours plus rapide qu'un acces a un ficher... J'ai pas eu moyen de m'en rendre compte par moi-meme... Je reste interessé à des réponses eventuelles :)

n°935372
Xav_
The only one...
Posté le 02-01-2005 à 21:54:38  profilanswer
 

théoriquement (ce qui veut dire en théorie), le temps de recherche dans une BDD est nettement moins sensible au nb d'enregistrement que dans un fichier...
 
en gros plus tu as d'info, plus le temps de recherche augmente (de façon plus ou moins proportionnelle) pour un fichier... Une BDD c'est fait pour stocker des données --> ça a été conçu pour rester rapide meme avec un max d'infos...
 
Mais moi non plus je n'ai pas vraiement fait de test poussé la-dessus, MySQL c'est gratuit et se gère très bien avec PHP, donc j'ai tjs opté pour la BDD (vu que pour un stage de fin d'étude j'avais du me mettre au SQL et au BDD access... au moins ça a fini par me servir ;))


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°935416
redrat
Posté le 02-01-2005 à 23:09:59  profilanswer
 

C'est ce que je me disais aussi (MySql plus rapide)
Ca me semble logique car les mécanismes des requetes sql doivent être optimisés.  
Ce qui n'est pas forcement le cas de mon script de recherche dans un csv.
A moins d'utiliser des algorithmes de recherche du type dicotomie.
 
Pour l'instant ce que j'ai codé recherche dans un fichier csv puisque c'est sous ce format que sont les données que je dois traiter.
 
Je vais coder une deuxieme version avec recherche dans la base mysql et en utilisant des timestamp je devrais pouvoir déterminer laquelle des deux méthodes est plus rapide.


Message édité par redrat le 02-01-2005 à 23:11:39
n°935434
esox_ch
Posté le 02-01-2005 à 23:33:45  profilanswer
 

Ok, surtout fait le nous savoir

n°950600
redrat
Posté le 11-01-2005 à 11:17:09  profilanswer
 

La version Mysql est faite et comme prévu c'est beaucoup plus rapide. Ca se voit à l'oeil nu.
Je vais ajouter les pointeurs de temps aujourd'hui pour quantifier le gain.

n°950619
Xav_
The only one...
Posté le 11-01-2005 à 11:40:53  profilanswer
 

merci d'avoir fait le test, meme si le résultat était prévisible, c'est en tout cas rassurant :D
(paske si une "Base De Données" n'était pas ce qu'il y de plus rapide pour stocker et retrouvé des "données", ça m'aurait inquiété...)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°950691
Berceker U​nited
PSN : berceker_united
Posté le 11-01-2005 à 13:19:56  profilanswer
 

je rajouterais ceci.
Ont perçoit pas forcement la vitesse lorsqu'il y a quelques enrgistrement. Par contre si ont atteind les 100 000 enregistrements la base de données ira bien plus vite que par systeme de fichier. les bd ont des algorythmes optimisé pour les recherches.

n°950705
cerel
Posté le 11-01-2005 à 13:31:42  profilanswer
 

Faut pas oublier que pour que la BDD soit rapide il faut que les tables soient bien construites, je pense notament aux cles PRIMARY, INDEX et compagnie. Regardez donc la doc mysql pour bien optimiser les tables afin que la recherche y soit des plus rapide et efficace.

n°951098
redrat
Posté le 11-01-2005 à 20:07:22  profilanswer
 

Voici les temps mesurés sur quelques recherches sachant que les données traitées sont : une table/fichier csv de 39569 enregistrements et une deuxième  table/fichier csv  de 8358 enregistrments
 
Pour chaque recherche, on fait une recherche LDAP et ensuite une recherche dans chacune des deux tables/fichiers csv pour chaque resultat de la requete LDAP
 
Recherche retournant 1 résultat avec 1 recherche ldap + 2 recherches mysql/csv
CSV : 3 sec
SQL : 1 sec
 
Recherche retournant 5 résultats avec 1 recherche ldap + 10 recherches mysql/csv
CSV : 11 sec
SQL : 4 sec
 
Recherche retournant 14 résultats avec 1 recherche ldap + 28 recherches mysql/csv
CSV : 20 sec  
SQL : 8 sec
 
Recherche retournant 48 résultats avec 1 recherche ldap + 96 recherches mysql/csv
CSV : Maximum execution time of 30 seconds exceeded  
SQL : 22 sec
 
Recherche retournant 68 résultats avec 1 recherche ldap + 116 recherches mysql/csv
CSV : Maximum execution time of 30 seconds exceeded  
SQL : 26 sec


Message édité par redrat le 11-01-2005 à 20:10:17
mood
Publicité
Posté le 11-01-2005 à 20:07:22  profilanswer
 

n°951118
Berceker U​nited
PSN : berceker_united
Posté le 11-01-2005 à 20:33:17  profilanswer
 

il y a pas photo le compte est bon :o

n°951135
redrat
Posté le 11-01-2005 à 20:46:55  profilanswer
 

Avec des index dans la base mysql c'est encore mieux
 
Recherche retournant 1 résultat avec 1 recherche ldap + 2 recherches mysql/csv  
SQL avec INDEX : 0 sec  
SQL sans INDEX : 1 sec  
 
Recherche retournant 5 résultats avec 1 recherche ldap + 10 recherches mysql/csv  
SQL avec INDEX : 1 sec  
SQL sans INDEX : 4 sec  
 
Recherche retournant 14 résultats avec 1 recherche ldap + 28 recherches mysql/csv  
SQL avec INDEX : 2 sec  
SQL sans INDEX : 8 sec  
 
Recherche retournant 48 résultats avec 1 recherche ldap + 96 recherches mysql/csv  
SQL avec INDEX : 7  
SQL sans INDEX : 22 sec  
 
Recherche retournant 68 résultats avec 1 recherche ldap + 116 recherches mysql/csv  
SQL avec INDEX : 9  
SQL sans INDEX : 26 sec


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Recherche csv VS recherche mysql

 

Sujets relatifs
[C]mysqlDifférence entre SHOW COLUMN et mysql_fetch_field
[MySQL]Valeur autorisée pour un seul enregistrement ?recherche un script ou astuce programation
[JBuilder] Je recherche un tutorial pour JBuilder 9MySql accepte-t'il les requêtes imbriquées ?
Like avec mySql[MySQL] La quête de la requête....
[MYSQL] requete avec dissociation[Php MySql] Limites d'une requête
Plus de sujets relatifs à : Recherche csv VS recherche mysql


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