Используйте этот запрос:
Query q = new Query("select top 100 SomeClass objects");
Насколько я помню, нет способа указать .Skip
-подобное условие в случае с DO39, поэтому вы должны сделать это вручную (например, применив .Skip
к имеющемуся у вас перечислению).
В этом случае очевидное влияние на производительность, но это не существенно с точки зрения вычислительной сложности. Единственный эффект этого заключается в том, что SQL Server будет отправлять больше строк клиенту, но все остальные задачи, которые он должен выполнять, остаются прежними.
Пример, иллюстрирующий это:
если вы попросите Google показать вам 1000-ю страницу результатов, это все равно будет
найти все документы, относящиеся к вашему запросу, вычислить рейтинг соответствия для
Сортируйте его, чтобы получить по крайней мере первые 1000 страниц с лучшими
соответствовать рангу и только после всей этой работы он сможет дать вам
1000-я страница.
Так что, если есть 1 000 000 000 000 документов, вычислительные
сложность отправки 10К строк клиенту крошечная по сравнению
со всей другой работой.
Также обратите внимание, что вся идея разбивки на страницы заключается в том, чтобы показать крошечную долю всего набора данных. Так что, если ваш пользователь должен разбить на страницы, например 1000-я страница, что-то не так с дизайном. Есть только два случая:
- Пользователь должен получить небольшую часть данных (т. Е. Выполнить поиск)
- Пользователь должен получить все данные (например, чтобы сделать резервную копию)
Промежуточных падежей нет.