From e89a057de59e4dcfd2f602ac34fb04e3dd1ab4b4 Mon Sep 17 00:00:00 2001
From: Georg Ringer <georg.ringer@gmail.com>
Date: Tue, 18 Feb 2020 21:10:07 +0100
Subject: [PATCH] [TASK] Improve check if records exist in DatabaseRecordList
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Limit the query to 1 row to check if there are records available
which improves the performance.

Resolves: #90419
Releases: master, 9.5
Change-Id: Ia965f906e4029698351e39501282242c480bb0d6
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63316
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Stefan Froemken <froemken@gmail.com>
Tested-by: Christian Eßl <indy.essl@gmail.com>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Stefan Froemken <froemken@gmail.com>
Reviewed-by: Christian Eßl <indy.essl@gmail.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
---
 .../sysext/recordlist/Classes/RecordList/DatabaseRecordList.php  | 1 +
 1 file changed, 1 insertion(+)

diff --git a/typo3/sysext/recordlist/Classes/RecordList/DatabaseRecordList.php b/typo3/sysext/recordlist/Classes/RecordList/DatabaseRecordList.php
index 78b7bc1deec5..560bb99252f1 100644
--- a/typo3/sysext/recordlist/Classes/RecordList/DatabaseRecordList.php
+++ b/typo3/sysext/recordlist/Classes/RecordList/DatabaseRecordList.php
@@ -2951,6 +2951,7 @@ class DatabaseRecordList
                 $queryBuilder = $this->addPageIdConstraint($tableName, $queryBuilder);
                 $firstRow = $queryBuilder->select('uid')
                     ->from($tableName)
+                    ->setMaxResults(1)
                     ->execute()
                     ->fetch();
                 if (!is_array($firstRow)) {
-- 
GitLab