lo mas rapido para extraer 10 strings de BBDD

22/12/2003 - 22:43 por Carla | Informe spam
Hola a todos,
necesito extraer 10 cadenas que estan en una columna(esto es importante,no
estan en una fila, sino ya se que podria usar GetValues()), para copiarlas a
un array.el rendimiento es fundamental por lo que he pensado en implementar
un DataReader.La cosa es que para copiarlo a un array necesito recorrerlo 1
por 1 y copiarlo a mano, y resulta que despues el array tengo que recorrerlo
en mi aplicacion.He pensado en pasarle directamente al metodo el dataReader
y que lo recorra el mismo, pero tambien necesito que se le pueda pasar un
array.El tratamiento que tengo que hacer es bastante largo, asi que las
sobrecargas creo que serian dificiles
La unica interfaz que soportan los dos es IEnumerable
Me recomendais que lo haga asi, haciendo un metodo que tenga de parametro un
interfaz IEnumerable, o veis otra solucion?

gracias y un saludo
 

Leer las respuestas

#1 Sergio Acosta
22/12/2003 - 23:49 | Informe spam
Hola Carla,

En principio, me parece que lo mas adecuado para sacar de la base de datos
el conjunto de cadenas si es un SqlDataReader por que es la forma mas
eficiente de hacerlo.

Pero, ¿En verdad es tan necesario ahorrarte la conversión del DataReader al
arreglo? Es decir, si en efecto son 10 elementos ¿que tan costoso es
realizar un recorrido para convertirlo a areglo?.

No lo pregunto por que no crea que tu problema sea real, pero me gustaría
saber más del contexto. ¿Ese procesamiento sobre 10 cadenas lo vas a
ejecutar muchas veces seguidas?, ¿sobre diferentes conjuntos de cadenas?.

Mi recomendación sería hacer el método que acepte un arreglo, y hacer un
arreglo a partir de los registros del DataReader. Es lo mas sencillo y no sé
si efectivamente ya haz hecho mediciones de que va a tardar mucho mas si
haces la conversíón al arreglo, yo no lo creo, pero te repito, depende de el
contexto.

un saludo

Sergio
"Carla" wrote in message
news:
Hola a todos,
necesito extraer 10 cadenas que estan en una columna(esto es importante,no
estan en una fila, sino ya se que podria usar GetValues()), para copiarlas


a
un array.el rendimiento es fundamental por lo que he pensado en


implementar
un DataReader.La cosa es que para copiarlo a un array necesito recorrerlo


1
por 1 y copiarlo a mano, y resulta que despues el array tengo que


recorrerlo
en mi aplicacion.He pensado en pasarle directamente al metodo el


dataReader
y que lo recorra el mismo, pero tambien necesito que se le pueda pasar un
array.El tratamiento que tengo que hacer es bastante largo, asi que las
sobrecargas creo que serian dificiles
La unica interfaz que soportan los dos es IEnumerable
Me recomendais que lo haga asi, haciendo un metodo que tenga de parametro


un
interfaz IEnumerable, o veis otra solucion?

gracias y un saludo


Preguntas similares