[BUGFIX] Break out of foreach if there're no rows in table

Instead of using a slow COUNT on huge tables, we add an
additional query here, which tries to get the first
found record in oder to test if records exists
or not. This new query is extremely fast, because it
uses indexes. It only needs one huge table
like sys_log in your database to see a performance
boost in BE list module.

Resolves: #55891
Releases: 6.2
Change-Id: I920729421bcece8af3b7cdd5f53446e5a1be5300
Reviewed-on: https://review.typo3.org/27554
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
Reviewed-by: Oliver Klee
Reviewed-by: Markus Klein
Tested-by: Markus Klein