Hola,
¿Vas a mostrar miles de registros en pantalla?
¿Habrá alguien que vaya a revisarlos uno a uno?
¿No sería mas adecuado hacer un formulario de búsqueda, donde el usuario pueda seleccionar solamente un registro y traer de la base de datos solamente ese, por medio de una selección de campos con meta-caracteres?
Es decir, con 10,000 registros de 1 Kb por dupla, te consumiría más de 9.8 Mb. de RAM, y un costo de 4 ó 5 minutos de transferencia por redes a 256 Kbps. sin incluir las etiquetas XML.
¿No sería más adecuado hacer las consultas directamente a la base de datos? Casi podría asegurar que un SELECT en el DBMS va a ser mucho más rápido en una base de datos bien indexada, que un .find() en cualquier lenguaje de programación.
Pero puedo estar equivocado, Saludos,