PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

optymalizacja wydajności offsetu/limitu

Paginacja jest trudna; model RDBMS nie jest dobrze dostosowany do dużej liczby krótkotrwałych zapytań z przewijaniem stanowym. Jak zauważyłeś, zużycie zasobów jest zwykle zbyt wysokie.

Masz opcje:

  • LIMIT i OFFSET
  • Za pomocą kursora
  • Kopiowanie wyników do tabeli tymczasowej lub do memcached lub podobnego, a następnie odczytywanie ich stamtąd
  • x > id i LIMIT

Spośród nich wolę x > id z LIMIT . Po prostu zapamiętaj ostatni dowód, który widziałeś i poproś o następny. Jeśli masz monotonnie rosnącą sekwencję, będzie to proste, niezawodne i wydajne w przypadku prostych zapytań.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wybrać rekordy z ostatnich 24 godzin za pomocą PostgreSQL

  2. używanie identyfikatorów zwróconych z insert do, do wstawiania rekordów z kluczem obcym

  3. Indeks wielokolumnowy na 3 polach o heterogenicznych typach danych

  4. Jak usunąć lub utworzyć bazę danych z clojure.java.jdbc?

  5. Policz liczbę aktualizacji