paginación mas eficiente, con menos consultas a la db

Hola, tengo una paginación donde cada fila contiene datos de dos tablas distintas.
Ejemplo:
<?php foreach($page->items as $columna): ?>
<?= $columna->user ?>
<?= $columna->nombre ?>
<?= $columna->email ?>
<?php foreach($columna->getPermisos() as $permisos): ?>
<?= $permisos->acciones_id ?>
<?php endforeach; ?>
<?php endforeach; ?>
En el anterior ejemplo se involucran dos tablas Usuario y Permisos.

Estuve viendo el archivo de log y me di cuenta que por cada fila de la paginación kumbia realiza una consulta a la base de datos, es decir que si en la paginación se muestran 15 resultados por pagina entonces son 15(o16) consultas a la base de datos.
No se si sera poco o mucho esa cantidad de consultas solo en la paginación, pero mi preguntas es si se puede hacer de una manera mas eficiente.

uso la version 0.5, y el paginador no es por sql.

Saludos

Comentarios

  • Es obvio tienes una FK y por cada registro $columna tu consultas los permisos $columna->getPermisos(), lo idea seria si quieres minimizar este comportamiento seria mediante una consulta o una vista (view) en la BD...

    El comportamiento que tu dices no lo hace el framework es parte de tu lógica, es decir tu haces que ese comportamiento sea así.
  • Gracias por responder
    El comportamiento que tu dices no lo hace el framework es parte de tu lógica, es decir tu haces que ese comportamiento sea así.
    Si, lo de paginacion mas eficiente no me refiero a que kumbia sea mas eficiente sino que yo lo sea.
    lo idea seria si quieres minimizar este comportamiento seria mediante una consulta o una vista (view) en la BD...
    Voy a ver como hago lo de la vista en la base de datos, es algo nuevo para mi.

    Saludos
  • Las vistas son consultas que se ejecutan en el servidor, es decir las creas en el servidor de Base de Datos y luego accedes a ella como si fuera un modelo normal ya que se maneja como un modelo...
  • con CREATE VIEW verdad?, me estoy interiorizando sobre ese tema
    Gracias.
  • Si utilizas Postgres te puedo echar una mano en ese sentido!
  • <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D --> Gracias pero uso mysql.
Sign In or Register to comment.