Хардкорный вариант - объединить значения в их источнике.Вы гарантируете, что нулевые значения будут оставаться в стороне от считывателей данных.
Но так как производительность кажется большой проблемой, я бы посоветовал вам измерить различные варианты для принятия обоснованного решения, прежде чем поставить под угрозу разумность вашегокод (чрезмерная оптимизация) или здравый смысл вашей среды выполнения (злоупотребление памятью или процессором).
В качестве примечания, выборка миллионов строк из базы данных наверняка вызовет ощутимый эффект.Обычно вам нужно решить, где / когда будет меньше больно!