2009-03-20 4 views
2

Je n'ai pas trouvé de fil de discussion approprié sur ce sujet, alors je vais aller de l'avant et demander ici.Comment puis-je dire à une base de données de ne renvoyer des données que dans des parties discrètes?

Problème: J'ai une requête select qui renvoie un résultat de taille 100 000+. L'utilisateur veut voir toutes ces données, mais je ne peux évidemment pas tout lui donner à la fois. Je ne veux pas non plus stocker autant de données sur la mémoire du client. Je veux que l'utilisateur soit capable de "parcourir" les résultats, en étant capable de voir les données dans des pages de 500 enregistrements. Alors, comment puis-je demander à la base de données de ne me renvoyer que 500 enregistrements à la fois?

+0

Quelle plate-forme de base de données? –

+0

Quel type de base de données, parlez-vous du serveur sql? –

+0

En ce moment j'utilise Sybase, mais nous pouvons passer à Oracle. –

Répondre

1

Cela dépend de la base de données que vous utilisez, mais MySql vous pouvez essayer quelque chose comme:

SELECT * FROM MyTable LIMIT <start>, 500 

et remplacer <start> avec l'index que vous souhaitez commencer (par exemple 0 pour la première page, 501 pour la deuxième page).

Questions connexes