Busquedas rapidas en datatable

27/10/2008 - 16:21 por Luisa Goicochea | Informe spam
En una aplicacion me traigo una tabla (la que guarda los permisos del
usuario por opcion del sistema) al principio del programa para no estar
trayendola cada vez ya que se usara en varias partes del sistema.
Hay alguna manera de que las busquedas en este datatable en memoria sean
rapidas o indexadas, o en todo caso es preferible traer de nuevo los datos
desde la base de datos nuevamente cuando se necesite seleccionar una parte
de los datos ? Que puede ser mas rapido?

Luisa

Preguntas similare

Leer las respuestas

#11 Jose Antonio
02/11/2008 - 22:34 | Informe spam
Miles de registros en memoria durante toda la aplicación sin ser necesarios
no tiene sentido, busca en la base de datos lo que necesites en cada caso
seguro que es más efectivo y mas limpio.

un saludo
"Luisa Goicochea" escribió en el mensaje
news:%
Realmente podrian ser miles de registros.
Probare las opciones que me han dado con datos reales a ver como resultan.

Les doy las gracias a todos por la gran ayuda que me han brindado



"Alberto Poblacion"
escribió en el mensaje news:
"Lord Voldemort" wrote in message
news:
Aun asi yo haria las pruebas haber que tal resulta usando el filtro del
dataview



Estoy de acuerdo. En todo lo que yo he probado, el DataView ha
funcionado siempre magníficamente. Para que se quede "corto", tendría que
ser una aplicación que maneje miles de registros y necesite hacer sobre
ellos miles de búsquedas. Me imagino que este es precisamente el caso del
OP, y que por eso preguntaba si había una forma de hacerlo "indexado" y
"más rápido". Desde luego, si son unas docenas de registros y hay que
hacer unas poquitas consultas, yo no me molestaría en buscar nada más
sofisticado que el DataView, o posiblemente el método Select del
DataTable.





Respuesta Responder a este mensaje
#12 Alberto Poblacion
03/11/2008 - 07:59 | Informe spam
"Jose Antonio" wrote in message
news:
Miles de registros en memoria durante toda la aplicación sin ser
necesarios no tiene sentido, busca en la base de datos lo que necesites en
cada caso seguro que es más efectivo y mas limpio.



Depende de las necesidades de la aplicación. Imagínate que el programa
es, por ejemplo, un motor de enrutamiento que tiene que buscar direcciones
IP en una tabla de rutas para sacar paquetes de datos por distintas
interfaces... Y que son cientos de miles de paquetes por segundo los que hay
que enrutar. Ponte a buscar una base de datos que soporte cientos de miles
de consultas por segundo. En cambio, una tabla de hash en memoria puede
hacerlo sin problema. Símplemente habrá que dimensionar la memoria para que
admita cargar las tablas de enrutamiento que necesitemos manejar.

La pregunta original no daba detalles de cuál es la aplicación que se
está desarrollando. Ha habido un par de respuestas diciendo que se use la
base de datos en lugar de cargarlos en memoria. Pero tiene perfecto sentido
que alguien pregunte cómo se pueden hacer las búsquedas en memoria; no todos
los programas son la típica aplicación de gestión que trabaja tranquilamente
sobre una base de datos.
Respuesta Responder a este mensaje
#13 Alfredo Novoa
03/11/2008 - 12:04 | Informe spam
Hola Alberto,

El Mon, 3 Nov 2008 07:59:08 +0100, Alberto Poblacion escribió:

La pregunta original no daba detalles de cuál es la aplicación que se
está desarrollando.



Bueno, pero Luisa ya lleva tiempo hablando de la aplicación que está
haciendo y más o menos nos hacemos una idea :-)

Ha habido un par de respuestas diciendo que se use la
base de datos en lugar de cargarlos en memoria. Pero tiene perfecto sentido
que alguien pregunte cómo se pueden hacer las búsquedas en memoria; no todos
los programas son la típica aplicación de gestión que trabaja tranquilamente
sobre una base de datos.



Ya, pero entonces que ni se le pase por la cabeza usar un DataTable :-)


Saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida