Есть MS SQL и такая таблица, показан фрагмент:
id (уникальный ключ)
score (индекс по score DESC)
Для получение топа выполняет 2 запроса:
SELECT TOP 100 id, score FROM table ORDER BY score DESC;
SELECT score FROM table WHERE id=@id;
Но во втором запросе надо получить не только количество очков игрока, но и его место.
Как это сделать максимально оптимизировано?
Кстати? топов много, по разным параметрам. Так что кластер индекс тут не поможет.
В таблице пару сотен тысяч записей.