es posible cargar un jtable con mas de 200 mil regitros????
es posible cargar en un jtable cargar esa cantidad de registros si que se me ponga extremadamente lento
- hackchan's blog
- Inicie sesión o regístrese para enviar comentarios
es posible cargar en un jtable cargar esa cantidad de registros si que se me ponga extremadamente lento
no se si mi problema radica es querer ...
no se si mi problema radica es querer usar una tabla generica para todo, estoy aprendiendo algo de introspeccion en java y no se mi proble radique en eso
Independientemente de la
Independientemente de la parte tecnológica, es una mala experiencia para un ser humano tener que navegar entre tantos registros.
Pasando a la parte del desempeño, llamar
por cada invocación de
es completamente innecesario, solo necesitas saber una vez por columna que método te debe de resolver esa columna.
Deberia ser algo como:
Como estas llamas N x M veces a getMethod, si tienes 10 columnas por 200k estas llamando al metodo 2 millones de veces, cuando solo lo necesitas invocar 10 veces.
En cuanto al estilo, en Java la llave que abre va en la misma línea, no en la linea siguiente:
despues de hacer cambios sigue lenta
despues de aplicar tus sugerencias sigue lenta se demora 20 seg en cagara 37 mil registros asi es como cargo la tabla
no se si aca tenga algun elemento mal diseñado o algo que me este generando la lentitud.
if else
Solo completando las observaciones de @OscarRyz te aconsejo mucho que siempre uses llaves para encerrar código como en el caso de tu primer snippet:
En lugar de eso escribe algo como :
Con el tiempo te acostumbraras tanto que tus ojos sangraran cuando veas un if/else sin llaves.
ok
mirando el mayor tiempo se gasta cargador el arraylist con los 27 milregistros, sera que me toca mirar una alternativa de estructura o algo asi .
Seguramente la mayor parte de
Seguramente la mayor parte de esos 20 segundos se pase en traer datos de la base de datos por la red. La red siempre es la parte más lenta.
No es un cambio de estructura sino de estrategia lo que necesitas. Por ejemplo, en vez de traer 27k registros por la red que el usuario no va a poder mirar y dejarlo esperando todo ese tiempo, puedes traer 1,000 registros ( o 500 ) y traer la información restante en un hilo en segundo plano.
Para saber como diseñar interfaces de usuario fíjate en ejemplos que a tí te parezcan buenos, por ejemplo, Gmail no te trae tus 20 mil correos aunque los tenga porque tu no sabrías que hacer con ellos, y obviamente buscar esa información y serializarla por la red tiene un costo en el desempeño.
Puede haber muchos mejoras como esta y no es posible simplemente adivinarlas y darte sugerencias en el foro pero creo que vas en buen camino respecto a medir. Sigue así, fíjate donde se esta gastando la mayoría de tiempo y arregla esa parte. Haz comparaciones, si crees que un arraylist no resuelve lo que necesitas utiliza otra estructura, pero aisla el problema, es decir, no cambies todo tu programa para intentar la alternativa, crea un programa chiquito que represente el mismo problema , mide, haz el cambio y mide de nuevo.
todo ok
ya tengo ajustada la table generic pero tengo ahora un problema, cuando antes armaba un table para un tipo de dato especifico
y por lo general hacia esto ya sea cuando pulso click a una fila de la tabla o me desplazo con el teclado.
asi seleccionaba el objecto es este caso producto, pero ahora que tengo un JTable generico no se como hacer para seleccionarlo de la misma manera.