Убедитесь, что ваше поколение объектов действительно влияет.Генерация объектов и GC - это CHEAP на сервере SQL, и у вас есть база данных.Я уверен, что ap rofilder покажет вам, что НЕ ОБРАБОТКА И УНИЧТОЖЕНИЕ ОБЪЕКТОВ влияют на вашу производительность, но в первую очередь тянут 1 миллион объектов.
На самом деле, вытягивание объекта должно быть в 1000 раз медленнее, чем созданиеобъект и его уничтожение.
Особенно со смешным неэффективным кодом типа
this.Color = dataReader.get ("Color");
, которыйявляется хештаблическим lokoup для каждой машины.Как насчет хранения индекса поля (или, зная его, он не изменяется между запусками sql) и использования индекса?Одно это принесет вам больше, чем любой другой подход.Особенно, если yuo также выдает миллион отдельных операторов SQL - как вы, похоже, делаете.
Как всегда при выполнении оптимизации производительности: ЗАПУСТИТЕ ПРОФИЛЬ.В вашем случае вы на 100% ошибаетесь в том, что теряете время.Вы обнаружите, что создание объектов и gc даже не отображаются в топ-10 потерь производительности.