2009-03-26 7 views
0

J'ai un formulaire de recherche qui pourrait potentiellement renvoyer des milliers d'enregistrements; Je souhaite afficher un message si la requête renvoie plus de 500 ou plus et que l'utilisateur affine la recherche pour obtenir moins de résultats. Est-ce que je suis bloqué avec faire un compte de sélection avant d'exécuter la requête réelle? Quelle est la meilleure pratique ici?Méthode efficace pour déterminer si la requête renverra «trop d'enregistrements» dans SQL Server

Répondre

4

Sélectionnez les 501 premiers enregistrements. Vous pouvez ensuite les afficher et dire à l'utilisateur qu'il doit affiner sa recherche.

Here's how

0

Souhaitez-vous présenter à votre utilisateur les premiers résultats? Ceci peut être réalisé en écrivant "Select top n" (n étant le nombre maximum de lignes que vous voulez obtenir) au lieu de "Select". Voir this link pour plus de détails.

2
SELECT COUNT(*) 
FROM (
     SELECT TOP 500 * 
     FROM mytable 
     ) 

Ceci est plus efficace qu'un simple SELECT COUNT(*)

Questions connexes