VELOCIDAD DE CONSULTAS..!!!

HOLA QUE TAL A TODA LA COMUNIDAD...

BUENO UNA VEZ MÁS POR ACA PIDIENDO AYUDA....
TENGO MI PROYECTO EN WINDOWS (QUIZÁ ESE SEA EL PROBLEMA PRINCIPAL)
ES UN PROYECTO DE CONSULTAS ELABORADO CON JAVA NETBEANS Y CONSULTAS EN MYSQL PHPMyADMIN
BUENO PUES TENGO EN UNA COMPUTADORA QUE ULTILIZO COMO UN PEQUEÑO SERVIDOR ALOJADA LA BASE DE DATOS EN UNA RED LOCAL....
DESDE LAS OTRAS MAQUINAS DE LA MISMA RED HAGO CONSULTAS AL SERVIDOR...
EL PROBLEMA ES EL SIGUIENTE:
SIENTO QUE LA VELOCIDAD DE LAS CONSULTAS ES MUY LENTA... NO SÉ SI SEA MI CÓDIGO O QUÉ PUEDA SER..!!! SI HAY ALGUNA FORMA DE PODER OPTIMIZAR ESTO AGRADECERÍA QUE ME LO DIJERAN...

MUCHAS GRACIAS

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Puedes checar...

Necesitaria ver algo de tu codigo y alguna consulta de las pesadas para ver por donde te podemos ayudar. Podrias postear la clase conexion que estas usando, supongo que usas JDBC. Yo alguna ves tuve que hacer algo parecido y mi problema era que el usuario con el que me estaba conectando era root y este no tenia permiso para conectarse remotamente (solo como localhost), el problema se resolvio creando un usuario con permisos de insert, select y update. Postea algo de lo que tienes para ver si el problema es el codigo java o tus querys.

Saludos

Imagen de black_ice_gt

Gracias..!!!!

Hola que tal... gracias por contestar a mi pregunta.. pues veras las consultas no son nada complicadas la mayoria son de este tipo:

 sSql ="SELECT
                                                codigo,nombre,tela,talla,escuela_nivel,nombre_de_escuela,ubicacion,modelo,cantidad,precio
                           FROM
                                               productos
                           WHERE
                                              nombre='"
+nombreDato+"'
                          AND
                                               modelo='"
+Modelo+"'";

en muy pocas ocupo GROUP BY, SUM o sentencias de ese tipo.....

he estado revisando mi codigo y creo que mi problema esta en la estructuracion, es decir ocupo demasiados if-else al momento de hacer una busqueda.

intentare explicarme... :
en la interfaz de usuario muestro varios JcomboBox para que el usuario elija los atributos que desea filtrar de cierto producto,
ejemplo una chamarra tiene los siguientes atributos: modelo, color, talla, tela.... entonces apartir de lo que el usuario haya elegido hago el filtrado y la consulta que corresponda a dicho articulo, es decir si el usuario eligio buscar todas las chamarras de un cierto modelo y de un cierto color.... lo hago así

< else if(modeloCombo!=0 && color!=0 && talla==0 && tela==0)
     {
         String capturaModelo="";
         String capturaColor="";
       
         capturaModelo=this.ComboModeloBuscar.getSelectedItem().toString();
         capturaColor=this.ComboColorBuscar.getSelectedItem().toString();
         
         sSql = "SELECT codigo,nombre,color,tela,forro,talla,modelo,cantidad,precio FROM productos WHERE nombre='chamarra' AND modelo='" +                                                           capturaModelo + "' AND color='" + capturaColor + "'";
         
         try {
            Statement st = cn.createStatement();
            ResultSet rs = st.executeQuery(sSql);
           
            while(rs.next())
            {
               
                   String[] registros ={rs.getString("codigo"),rs.getString("nombre"),rs.getString("color"),rs.getString("tela"),
                   rs.getString("forro"),rs.getString("talla_numerica"),rs.getString("modelo"),rs.getString("cantidad"),rs.getString("precio")};

               
                      modelo.addRow(registros);
            }
 
           TablaChamarras.setModel(modelo);
         
        }
        catch (SQLException ex)
        {
           
            JOptionPane.showMessageDialog(null, ex);
           
        }
     
     
     }/code>

El problema es que no se me ocurre otra forma de hacerlo, sé que esta forma es un tanto primitiva y hasta de mal gusto, pero no he encontrado la manera de programar las diferentes combinaciones y filtrados de los articulos

espero haber sido claro....Gracias

Patron de diseño MVC

Viendo tu codigo me doy cuenta que tienes un problema de diseño, estas mezclando logica de negocio (else if), vista (combos, tablas y JOptionPane) y acceso a los datos (las consultas a la BD) en una misma clase. Pero aun asi, ese no es el motivo por el cual estan lentas tus consultas, el problema de que sigas programando asi es que tendras una maraña de codigo que sera dificil de mantener.

1. Busca un buen libro de patrones de diseño y estudiate el patron MVC, este te explicara que el codigo se debe separar en capas.
2. Veo que usas JDBC, investiga como usar PreparedStatement para tus consultas, te dejo una liga: http://www.chuidiang.com/java/mysql/PreparedStatement-java-mysql.php
3. No veo en que parte creas la conexion y tampoco veo en que parte la cierras. Este puede ser un problema, ya que si cada ves que consultas algo creas una conexcion pero nunca la cierras puedes ocasionar que se terminen, los recursos son limitados y hay que cuidarlos. Para eso te recomiendo investigues sobre "pool de conexiones", esto te servira como buena practica y saber la mejor manera de reutilizar las conexiones.

Suerte

¿Cómo obtienes la conexion?

Si realizas una conexión cada vez que requieres información de la base de datos, esto es muy costoso en tiempo y recursos, te recomiendo que utilices un pool de conexiones aqui puedes encontrar algo de información sobre el tema.