mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
perf(share): Remove useless order by id
This should improve a bit the performance in some particular cases Signed-off-by: Carl Schwan <carlschwan@kde.org>
This commit is contained in:
parent
181cff54f6
commit
e7741f81dd
1 changed files with 12 additions and 9 deletions
|
|
@ -381,8 +381,7 @@ class DefaultShareProvider implements
|
|||
], IQueryBuilder::PARAM_INT_ARRAY)
|
||||
)
|
||||
)
|
||||
->andWhere($qb->expr()->in('item_type', $qb->createNamedParameter(['file', 'folder'], IQueryBuilder::PARAM_STR_ARRAY)))
|
||||
->orderBy('id');
|
||||
->andWhere($qb->expr()->in('item_type', $qb->createNamedParameter(['file', 'folder'], IQueryBuilder::PARAM_STR_ARRAY)));
|
||||
|
||||
$cursor = $qb->executeQuery();
|
||||
while ($data = $cursor->fetch()) {
|
||||
|
|
@ -666,8 +665,6 @@ class DefaultShareProvider implements
|
|||
)
|
||||
);
|
||||
|
||||
$qb->orderBy('id');
|
||||
|
||||
$shares = [];
|
||||
|
||||
$chunks = array_chunk($childMountRootIds, 1000);
|
||||
|
|
@ -725,7 +722,9 @@ class DefaultShareProvider implements
|
|||
}
|
||||
|
||||
$qb->setFirstResult($offset);
|
||||
$qb->orderBy('id');
|
||||
if ($offset !== 0 || $limit !== -1) {
|
||||
$qb->orderBy('id');
|
||||
}
|
||||
|
||||
$cursor = $qb->executeQuery();
|
||||
$shares = [];
|
||||
|
|
@ -794,7 +793,6 @@ class DefaultShareProvider implements
|
|||
->andWhere($qb->expr()->eq('file_source', $qb->createNamedParameter($path->getId())))
|
||||
->andWhere($qb->expr()->in('share_type', $qb->createNamedParameter([IShare::TYPE_USER, IShare::TYPE_GROUP, IShare::TYPE_LINK], IQueryBuilder::PARAM_INT_ARRAY)))
|
||||
->andWhere($qb->expr()->in('item_type', $qb->createNamedParameter(['file', 'folder'], IQueryBuilder::PARAM_STR_ARRAY)))
|
||||
->orderBy('id', 'ASC')
|
||||
->executeQuery();
|
||||
|
||||
$shares = [];
|
||||
|
|
@ -887,8 +885,10 @@ class DefaultShareProvider implements
|
|||
->leftJoin('s', 'filecache', 'f', $qb->expr()->eq('s.file_source', 'f.fileid'))
|
||||
->leftJoin('f', 'storages', 'st', $qb->expr()->eq('f.storage', 'st.numeric_id'));
|
||||
|
||||
// Order by id
|
||||
$qb->orderBy('s.id');
|
||||
if ($offset !== 0 || $limit !== -1) {
|
||||
// Order by id
|
||||
$qb->orderBy('id');
|
||||
}
|
||||
|
||||
// Set limit and offset
|
||||
if ($limit !== -1) {
|
||||
|
|
@ -957,9 +957,12 @@ class DefaultShareProvider implements
|
|||
->from('share', 's')
|
||||
->leftJoin('s', 'filecache', 'f', $qb->expr()->eq('s.file_source', 'f.fileid'))
|
||||
->leftJoin('f', 'storages', 'st', $qb->expr()->eq('f.storage', 'st.numeric_id'))
|
||||
->orderBy('s.id')
|
||||
->setFirstResult(0);
|
||||
|
||||
if ($offset !== 0 || $limit !== -1) {
|
||||
$qb->orderBy('id');
|
||||
}
|
||||
|
||||
if ($limit !== -1) {
|
||||
$qb->setMaxResults($limit - count($shares));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue