Торговые предложения

Доброго времени суток. В настоящий момент занимаюсь магазином, был создан каталог с торговыми предложениями. У одного товара в среднем 2000 торговых предложения. На странице раздела загружается 9 товаров, в настройках каталога параметр "LIST_OFFERS_LIMIT" был приравнен к 0. Это делалось для того, чтобы на этапе просмотра списка можно было выбрать характеристику и посмотреть самое дешевое предложение по данному товару и характеристики. Например у нас существуют 3 характеристики, Размер, Цвет и Опция. Пробегаясь по массиву предложений мы во-первых формируем основной массив размеров, именно его и должен видеть пользователь, потом по данному размеру мы находим самое дешевое предложение и вставляем его так же в массив с размером. Данная система замечательно работает при наличии у товара не более 50 торговых предложений, однако при таком количестве время загрузки страницы очень сильно увеличивается.

Вариант с уменьшением количества загружаемых ТП не рассматривается. Вариант в голову приходит один. Так как при обмене с 1С происходит проход по всем ТП и товару соответственно, то можно создать дополнительное свойство у самого товара, куда мы будем писать уникальную характеристику размер и в описание вставлять самое дешевое ценовое предложение, или просто делать привязку самого дешевого ТП в данном размере. Из самого списка товаров загрузку и обработку ТП просто убрать, формирование характеристики будет идти уже из массива который указан в самом товаре.

Собственно говоря у меня вопрос заключается в том, на сколько данное решение легитимно, вообще я понимаю что это по сути костыль, причем забитый глубоко в задницу, но других идей у меня почему то не возникает. Возможно кто то посоветует свой вариант.