Ответ действительно зависит от размера записей, а не только от их количества. В любом случае алгоритм кэширования ASP.NET использует алгоритм Least недавно Used (LRU), чтобы исключить элементы, которые не использовались в последнее время, чтобы освободить место для дополнительных элементов. Таким образом, если ваш сайт либо не слишком занят, либо ваш набор результатов слишком велик, вы должны хорошо кэшировать набор результатов и позволить кэшу ASP.NET обрабатывать детали хранения наиболее часто используемых данных в кеше и истечения срока их действия.
Вы можете также рассмотреть возможность использования кэширования вывода на уровне страницы, если на странице ничего не указано для конкретного пользователя, поскольку это, вероятно, даст вам немного большую производительность при минимальном использовании дополнительной памяти. Другими областями, которые нужно исследовать, являются элемент управления, SqlDependencies и, конечно, если данные доступны только для чтения, убедитесь, что вы отключаете ViewState на любом элементе управления, который вы используете для отображения данных.