From d3e81f5e0dcdb978207633de757582b41b3206ac Mon Sep 17 00:00:00 2001 From: Nathaniel Catchpole Date: Tue, 9 Dec 2014 16:03:20 +0000 Subject: [PATCH] Issue #2388765 by alexpott: Improve performance of SqlContentEntityStorage::countFieldData() for large datasets when getting the result as a boolean --- core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php index d46c37e4b2f7..40a695e3f0c0 100644 --- a/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php +++ b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php @@ -1759,7 +1759,11 @@ class SqlContentEntityStorage extends ContentEntityStorageBase implements SqlEnt if ($as_bool) { $query->range(0, 1); } - $count = $query->countQuery()->execute()->fetchField(); + else { + // Otherwise count the number of rows. + $query = $query->countQuery(); + } + $count = $query->execute()->fetchField(); } return $as_bool ? (bool) $count : (int) $count; }