sql >> Databáze >  >> RDS >> Mysql

Stránkování v režimu spánku se spojenými tabulkami

Stránkování nefunguje se spojenými kolekcemi, protože počítá všechny řádky, které splnily where predikát (Hibernate s tím nemá nic společného, ​​takhle fungují databáze, například Oracle rownum ).

Obvyklým způsobem, jak to překonat, je použití poddotazů, takže rownum (nebo ekvivalent v použité databázi) se použije na vybrané řádky pouze jedné tabulky (nebo spojených tabulek, které jsou ve vztahu k jedné).

V HQL:

select p from Parent p were p in (select c.parent from Child c where ...)

ekvivalent kritérií lze postavit podobným způsobem.



  1. Platné kontroly data v Oracle

  2. ORA-03113:konec souboru na komunikačním kanálu

  3. Optimalizace dotazů na základě klastrovaných a neklastrovaných indexů v SQL?

  4. SQLSTATE[HY000] [2002] php_network_getaddresses:getaddrinfo se nezdařilo:zadán název uzlu ani název_serveru nebo není znám