СМЕЩЕНИЕ |FETCH Упорядочить по столбцу - SQL Server - PullRequest
0 голосов
/ 14 февраля 2019

Может ли кто-нибудь объяснить мне на самом базовом уровне, какова разница в производительности для этих двух запросов.

ORDER BY (select null)
OFFSET @Offset ROWS
FETCH NEXT @EntriesPerPage ROWS ONLY;

ORDER BY (ItemID)
OFFSET @Offset ROWS
FETCH NEXT @EntriesPerPage ROWS ONLY;

Я ожидаю, что первый запрос будет работать лучше, поскольку он не упорядочен по столбцуно каждый раз, когда я проверяю это, второй запрос всегда работает лучше.Может кто-нибудь объяснить мне, почему второй запрос будет работать лучше для OFFSET / FETCH, даже если он упорядочен по столбцу.

Я выполняю запросы отдельно.Я стираю план кэша и буферы между каждым запросом, чтобы он не использовал предыдущий план выполнения.

Спасибо

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Первый запрос должен быть быстрее.

Вы пытались выполнить второй запрос первым и увидели разницу в производительности.Возможно, индексирование и другие атрибуты производительности заставляют вас чувствовать, что второй запрос выполняется быстрее.

0 голосов
/ 14 февраля 2019

Да, первый запрос должен выполняться быстрее, так как второй запрос должен выполнить дополнительную операцию сортировки.

...