Oracle Pagination: Analyse de la fonction ROW_NUMBER() VS ROWNUM

Lors de la Pagination doit être fait dans un site web... la méthode la plus performante?

Analytique de la fonction ROW_NUMBER()

ROWNUM

  • http://www.oracle.com/technetwork/issue-archive/2007/07-jan/o56asktom-086197.html
  • INMHO je trouve cette approche plus lisible le code

    SELECT * FROM (
      SELECT rownum rn, a.* 
      FROM(
        SELECT columnA, columnB
        FROM table 
        ORDER BY columnB
      ) a 
      WHERE rn <= OFFSET
    )
    WHERE rnum >= LOW_LIMIT
    • Remarque: je comprends qu'il y a de RANG et DENSE_RANK fonctions analytiques, mais supposons, j'ai juste besoin d'une page d'déterministe requêtes.

    • Note 2: Pour récupérer le montant total de dossiers je pense en utilisant un simple requête count(*)

  • Combien de lignes vous occupez-vous? A u vérifier expliquer le plan?
  • double possible de Comment puis-je accélérer row_number dans Oracle?
  • Essayez de charger une table de test avec une énorme quantité de données et de tester à la fois contre elle, et voila, vous avez votre réponse qui est (en conséquence du fait que vous avez exécuté le test vous-même) sur mesure directement le matériel/réseau/environnement, vous êtes en cours d'exécution.!
  • maintenant que vous le dites... la réponse à cette question a un excellent article lien.
  • Bon pointage dans les tests HW/Net/Environnement.
InformationsquelleAutor Jimmy | 2011-08-16