Обычно добавление элементов в сеанс отрицательно влияет на масштабируемость. В зависимости от вашей технологии у вас могут возникнуть проблемы с масштабированием до более чем одного сервера при использовании переменных сеанса (например, в классическом asp).
Сказав, что если производительность является вашим главным приоритетом, вы можете кэшировать данные как в переменных сеанса, так и в переменных приложения. Я всегда думал, что это не стоит хлопот для набора данных такого размера, потому что на сервере sql почти наверняка эти данные будут кэшироваться в памяти, и все, что вы сохраняете, - это двусторонняя передача по сети.
Наконец, сначала посмотрите на оптимизацию кода и оборудования для повышения производительности. Миграция в управляемый / скомпилированный код, уменьшение размера html, оптимизация изображений, минимизация JavaScript и, конечно, html-кэширование, о котором вы упоминали ранее, - это все, что я хотел бы рассмотреть в первую очередь.