Java - Duda - Consulta Mysql ¿Como debería?

 
Vista:
Imágen de perfil de Franklin
Val: 456
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Duda - Consulta Mysql ¿Como debería?

Publicado por Franklin (179 intervenciones) el 04/01/2020 17:45:18
Buenos Días/ Buenas Tardes / Buenas Noches.

Compañeros el día de hoy vengo con una duda de cual sería el mejor uso para consultar en mi Base de datos y obtener los datos en una Tabla.

Los coloco en Contexto. Busco todos mis valores de la Tabla "Articulos"

Por lo General lleno mi jTable con los valores mas relevantes mi tabla "articulos" y una vez seleccionado un Valor de la tabla, repito la búsqueda pero con mi ID en especifico

por otro lado podría llenar una matriz
donde n = CantidadFilasdelResultSet
m = ColumnasenlaTablaArticulos



String [n[m], vaciar todo el resultSet en mi Jtable y en esta matrix, y al seleccionar mi valor en la tabla lo busco en mi Matrix y obtengo los valores.


o consideran hay un mejor metodo para esto?. de ante mano gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Duda - Consulta Mysql ¿Como debería?

Publicado por Billy Joel (876 intervenciones) el 06/01/2020 14:50:23
Cada vez que tu programa interactúe con una base de datos debe abrir una conexión y luego cerrar. Teniendo en cuenta lo anterior, ese es un proceso que toma algo de tiempo. Todo depende del enfoque o arquitectura de tu sistema, si tu sistema/programa solo hay un equipo que se conecta a la base de datos pues bien, puedes tener todos los datos cargados en memoria y manejarlos como tu quieras.

Pero somos programadores, hay que ver con luces largas, hay que dar soluciones eficientes,,, eventualmente vamos a tener una cantidad considerable de usuarios interactuando con los registros y es importante que los usuarios puedan ver la data mas actualizada.

Entonces para tu JTable te recomiendo que lo cargues con una consulta sql que tenga las columnas que necesitas. Cuando quieras consultar un registro entonces lo consultas.

Saludos,
Billy Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Franklin
Val: 456
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Duda - Consulta Mysql ¿Como debería?

Publicado por Franklin (179 intervenciones) el 06/01/2020 15:23:30
Entiendo el punto de mostrar la data actualizada por la cantidad de usuarios que acceden y modifican los registros.
Siempre he tenido la siguiente duda, por lo general creo la conexión y al terminar la cierro, pero no le toma mas recursos al Pc-Cliente o incluso al mismo servidor abrir y cerrar constantemente por cada consulta o acción a la bd? o debería ser un estandar en el servidor un pool de conexiones?

Gracias por responder
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Duda - Consulta Mysql ¿Como debería?

Publicado por Billy Joel (876 intervenciones) el 06/01/2020 15:46:11
Si pero no. Te explico, si consumen recursos en tiempo, pero si ejecutas las consultas con PreparedStatement en lugar de Statement y las consultas las haces basadas en llaves (campos indexados) mejorarías el rendimiento como un 500%.

La parte no es que existen pools de conexiones, en donde los servidores de aplicaciones se encargarían de abrir 4, 5, 6 o las conexiones que necesites a la base de datos. Entonces tu programa le pide una conexión al pool, ejecuta lo que va a ejecutar y al cerrar la conexión tu programa le devuelve la conexión al pool. El pool se encargaría de gestionar las conexiones (abrir, cerrar, prestar, etc...).

Por ahora trabajalo como lo estas haciendo. Cuando llegue el momento de mejorar el rendimiento piensa en apache jdbc connection pool como una alternativa. Se que hay otras alternativas mas puristas propias de Java, pero esta es la que suelo utilizar.

Cuando no tienes tantas conexiones entonces la verdad no vale la pena implementar esto. Enfocate en PreparedStatement.

Saludos,
Billy Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Franklin
Val: 456
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Duda - Consulta Mysql ¿Como debería?

Publicado por Franklin (179 intervenciones) el 06/01/2020 18:47:37
Entiendo... ya por costumbre suelo usar PreparedStatement en lugar de Statement y ciertamente tengo una clase con la conexión usando >apache jdbc connection pool< aunque por lo general no suele existir un trafico mayor a 25 personas en simultaneo y 40 en total.

Por lo que, no estoy tan perdido de la buena practica. En mi caso suelo llenar un Jtable con valores esenciales en una determinada tabla y luego hago otra consulta cuando preciso los datos especificos, aunque pensaba que esto generaba sobrecargo en la BDD, por ende la premisa.

de todas maneras Gracias (Y)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar