Description
Investigate possible improvements for QueryCachingMiddleware::getCachedResponse by using DataQuery::union method to reduce additional queries.
See:
|
// On cache success validate against cached classes |
|
foreach ($cached['classes'] as $class) { |
|
// Note: Could combine these clases into a UNION to cut down on extravagant queries |
|
// Todo: We can get last-deleted/modified as well for versioned records |
|
$lastEditedDate = DataObject::get($class)->max('LastEdited'); |
|
if (strtotime($lastEditedDate ?? '') > strtotime($cached['date'] ?? '')) { |
|
// class modified, fail validation of cache |
|
return null; |
|
} |
|
} |
Description
Investigate possible improvements for QueryCachingMiddleware::getCachedResponse by using DataQuery::union method to reduce additional queries.
See:
silverstripe-graphql/src/Middleware/QueryCachingMiddleware.php
Lines 112 to 121 in 4c66b57