Лучшее решение будет сильно зависеть от
1. как часто данные меняются
2. как часто вызывается sproc и насколько глубоко пользователь будет печатать страницу и
3. Какую задержку (если есть) вы можете принять в актуальном состоянии заказа.
Часто в бэкэнде веб-сайта ваши пользователи используют только первые несколько страниц, но бот Google может захлопнуть ваши глубокие страницы и, следовательно, захлопнуть ваш процессор. Обычно хорошо поддерживать это оперативное упорядочение только до определенной точки (например, использовать row_number () для первых нескольких сотен или тысяч строк), а затем переключаться на денормализованный список упорядочения, который обновляется в течение некоторого интервала (возможно, ежечасно).