2011-06-16 2 views

Répondre

12

De TOP vs SAMPLE:

TOP 10 signifie "10 premiers rangs en ordre trié ". Si vous n'avez pas de ORDER BY, alors par extension, il sera interprété comme demandant "ANY 10 rows" dans n'importe quel ordre. L'optimiseur est gratuit pour sélectionner le plan le moins cher peut trouver et arrêter le traitement dès car il a trouvé suffisamment de lignes pour revenir.

Si cette requête est la seule chose en cours d'exécution sur votre système, vers le haut peut sembler pour vous donner toujours la même réponse , mais que le comportement n'est pas garanti.

SAMPLE, comme vous l'avez observé, est- traitement supplémentaire pour essayer de randomiser le jeu de résultats pourtant maintenir la même répartition approximative . À un niveau très simple, par exemple, il peut sélectionner un point aléatoire à partir de pour numériser la table et un certain nombre de lignes pour ignorer les lignes renvoyées.