mirror of
https://github.com/wallabag/wallabag.git
synced 2025-07-22 17:18:37 +00:00
Instead of selecting the whole data, just count it
Instead of performing a complex select (to retrieve all data for entry, etc...) just select the counter and retrieve it. Down from ~50ms to ~30ms on the unread page (with 500 items)
This commit is contained in:
parent
8f8654913c
commit
543da3e0b7
2 changed files with 13 additions and 13 deletions
|
@ -49,7 +49,7 @@ class DeveloperController extends Controller
|
||||||
|
|
||||||
$this->get('session')->getFlashBag()->add(
|
$this->get('session')->getFlashBag()->add(
|
||||||
'notice',
|
'notice',
|
||||||
$this->get('translator')->trans('flashes.developer.notice.client_created', array('%name%' => $client->getName()))
|
$this->get('translator')->trans('flashes.developer.notice.client_created', ['%name%' => $client->getName()])
|
||||||
);
|
);
|
||||||
|
|
||||||
return $this->render('WallabagCoreBundle:Developer:client_parameters.html.twig', [
|
return $this->render('WallabagCoreBundle:Developer:client_parameters.html.twig', [
|
||||||
|
@ -81,7 +81,7 @@ class DeveloperController extends Controller
|
||||||
|
|
||||||
$this->get('session')->getFlashBag()->add(
|
$this->get('session')->getFlashBag()->add(
|
||||||
'notice',
|
'notice',
|
||||||
$this->get('translator')->trans('flashes.developer.notice.client_deleted', array('%name%' => $client->getName()))
|
$this->get('translator')->trans('flashes.developer.notice.client_deleted', ['%name%' => $client->getName()])
|
||||||
);
|
);
|
||||||
|
|
||||||
return $this->redirect($this->generateUrl('developer'));
|
return $this->redirect($this->generateUrl('developer'));
|
||||||
|
|
|
@ -33,31 +33,31 @@ class WallabagExtension extends \Twig_Extension implements \Twig_Extension_Globa
|
||||||
$user = $this->tokenStorage->getToken() ? $this->tokenStorage->getToken()->getUser() : null;
|
$user = $this->tokenStorage->getToken() ? $this->tokenStorage->getToken()->getUser() : null;
|
||||||
|
|
||||||
if (null === $user || !is_object($user)) {
|
if (null === $user || !is_object($user)) {
|
||||||
return array();
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
$unreadEntries = $this->repository->enableCache(
|
$unreadEntries = $this->repository->enableCache(
|
||||||
$this->repository->getBuilderForUnreadByUser($user->getId())->getQuery()
|
$this->repository->getBuilderForUnreadByUser($user->getId())->select('COUNT(e.id)')->getQuery()
|
||||||
);
|
);
|
||||||
|
|
||||||
$starredEntries = $this->repository->enableCache(
|
$starredEntries = $this->repository->enableCache(
|
||||||
$this->repository->getBuilderForStarredByUser($user->getId())->getQuery()
|
$this->repository->getBuilderForStarredByUser($user->getId())->select('COUNT(e.id)')->getQuery()
|
||||||
);
|
);
|
||||||
|
|
||||||
$archivedEntries = $this->repository->enableCache(
|
$archivedEntries = $this->repository->enableCache(
|
||||||
$this->repository->getBuilderForArchiveByUser($user->getId())->getQuery()
|
$this->repository->getBuilderForArchiveByUser($user->getId())->select('COUNT(e.id)')->getQuery()
|
||||||
);
|
);
|
||||||
|
|
||||||
$allEntries = $this->repository->enableCache(
|
$allEntries = $this->repository->enableCache(
|
||||||
$this->repository->getBuilderForAllByUser($user->getId())->getQuery()
|
$this->repository->getBuilderForAllByUser($user->getId())->select('COUNT(e.id)')->getQuery()
|
||||||
);
|
);
|
||||||
|
|
||||||
return array(
|
return [
|
||||||
'unreadEntries' => count($unreadEntries->getResult()),
|
'unreadEntries' => $unreadEntries->getSingleScalarResult(),
|
||||||
'starredEntries' => count($starredEntries->getResult()),
|
'starredEntries' => $starredEntries->getSingleScalarResult(),
|
||||||
'archivedEntries' => count($archivedEntries->getResult()),
|
'archivedEntries' => $archivedEntries->getSingleScalarResult(),
|
||||||
'allEntries' => count($allEntries->getResult()),
|
'allEntries' => $allEntries->getSingleScalarResult(),
|
||||||
);
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getName()
|
public function getName()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue