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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Prendre les 8 premiers resultats d'une requete..

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Prendre les 8 premiers resultats d'une requete..

n°1389364
tania_j
Posté le 16-06-2006 à 19:53:45  profilanswer
 


Bonjour,
 
Pourquoi; si je fais une requete du style:
 
SELECT * FROM table LIMIT 8,
 
Lorsque j'effectue un explain; je vois que la requete parcours toute la table ? Pourquoi diable ne s'arrete t'il pas aux 8 premieres entrées trouvées ?
 
Y'a une chose qui m'echappe..
merci

mood
Publicité
Posté le 16-06-2006 à 19:53:45  profilanswer
 

n°1389365
farib
Posté le 16-06-2006 à 19:58:44  profilanswer
 

au pifometre, je dirais que c'est nécessaire dans la mesure ou tu peux faire des requetes du genre "order by xxx limit n" qui seraient fausses si on évalue pas toute la requete avant le limit

n°1389370
tania_j
Posté le 16-06-2006 à 20:02:52  profilanswer
 

Oui; j'en suis bien consciente.. mais pq mysql optimise pas mieux la chose; il sait pertinement que je n'ai pas mis d'order by.. :??:

n°1389573
moi23372
Posté le 17-06-2006 à 10:11:09  profilanswer
 

dans la plupart des SGBD, une même requête de sélection (SELECT * FROM table) ramenera les tuples, mais pas forcement toujours dans le même ordre.
Donc afin de garantir que les 8 tuples recherchés, sont bien ceux que l'utilisateur attend, il est nécessaire à l'SGBD de faire la requête complètement et d'en extraire les 8 tuples après un ORDER BY précis sur l'ensemble. A mon avis, c'est l'une des raisons déjà, mais je suppose qu'il y en a d'autre... Pour MySQL je ne sais pas, mais c'est comme ça qu'Oracle par exemple travaille.


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

  Prendre les 8 premiers resultats d'une requete..

 

Sujets relatifs
[PHP] [RESOLU] problème de filtre sur la date dans requête[Resolu] Syntax error, requete mysql depuis java
Besoin d'une idée pour automatiser une construction de requêteenlevement caractère requête sql access
Aide pour une requête!transferts de requête
requete avec liaison[sql/Excel] requête sql vers Excel : problème de saut de ligne ...
[VB6][resolu] prob requetestocker les résultats d'une requete
Plus de sujets relatifs à : Prendre les 8 premiers resultats d'une requete..


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