2008-09-20 5 views

Répondre

10

Limite d'utilisation dans SQL! À chaque fois! Sinon, vous générez beaucoup plus de données que nécessaire, ce qui rend vos scripts inutilement lents et entraîne des problèmes d'évolutivité à mesure que la quantité de données augmente dans vos tables.

La limite est votre ami!

10

Limite d'utilisation - vous ne souhaitez pas transférer des masses de données de la base de données vers le moteur de script si vous pouvez l'éviter.

0

Personnellement, j'utiliserais la requête pour le faire. Évidemment, cela peut changer si vous traitez avec AJAX et autres, mais simplement faire une limite de base dans la requête et sortir les résultats est simple et efficace.

2

Si vous voulez uniquement travailler avec un SGBD supportant cela que de le faire sur le SGBD. Si vous souhaitez prendre en charge d'autres SGBD dans le futur, ajoutez une couche entre ceux-ci, en fonction du SGBD actuel.

2

Vous pouvez utiliser des bibliothèques existantes pour vous aider:

Pear :: Pager peut aider à la sortie, et de limiter le trafic de base de données que ce dont vous avez besoin, vous pouvez utiliser un emballage fourni dans les exemples viens avec.

Voici un tutorial je viens de googlé qui a tout ...

1

En plus d'utiliser LIMIT, je suggère d'utiliser une clause explicite WHERE pour définir l'offset, et commander les résultats sur cette colonne. Par exemple:

--- First page (showing first 50 records) 
SELECT * FROM people ORDER BY id LIMIT 50 
--- Second page 
SELECT * FROM people WHERE id > 50 ORDER BY id LIMIT 50 

Ceci limite en outre le nombre de lignes renvoyées à celles situées dans la plage souhaitée. L'utilisation de l'approche WHERE (par opposition à une clause LIMIT avec un décalage séparé, par exemple LIMIT 50,50) vous permet de traiter efficacement les appels de radiomessagerie à travers d'autres clés naturelles, par ex. alphabétiquement par nom, ou par ordre de date.

Questions connexes