Mercurial > hg > orthanc
changeset 7149:5c5392a01134
optimized single resources FindRequest
| author | Alain Mazy <am@orthanc.team> |
|---|---|
| date | Wed, 16 Sep 2026 14:54:38 +0200 |
| parents | 7021c0ff2a14 |
| children | d0627441796a |
| files | OrthancServer/Sources/Search/ISqlLookupFormatter.cpp |
| diffstat | 1 files changed, 8 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/OrthancServer/Sources/Search/ISqlLookupFormatter.cpp Tue Sep 15 16:19:35 2026 +0200 +++ b/OrthancServer/Sources/Search/ISqlLookupFormatter.cpp Wed Sep 16 14:54:38 2026 +0200 @@ -806,7 +806,14 @@ } else { - ordering = "ROW_NUMBER() OVER (ORDER BY " + strQueryLevel + ".publicId) AS rowNumber"; // we need a default ordering in order to make default queries repeatable when using since&limit + if (request.GetOrthancIdentifiers().IsDefined() && request.GetOrthancIdentifiers().DetectLevel() == queryLevel) + { // this is a single resource, no need for ordering (ordering may prevents a lot of optimizations from the query planner) + ordering = "0 AS rowNumber"; + } + else + { + ordering = "ROW_NUMBER() OVER (ORDER BY " + strQueryLevel + ".publicId) AS rowNumber"; // we need a default ordering in order to make default queries repeatable when using since&limit + } } sql = ("SELECT " +
