Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/09/2014, 09:26
martin0290
 
Fecha de Ingreso: octubre-2009
Mensajes: 84
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: MySQL muy lento (red local)

Cita:
Iniciado por Xerelo Ver Mensaje
Si lo ejecutas en local, apuntando a localhost ¿va lento?¿Hay algún proxy?



Es exactamente lo mismo



Si te va lento con localhost el problema es de la propia consulta, prueba a hacerla directamente en la base de datos.


Gracias por tu respuesta, la base de datos esta alojada en un servidor (una pc con w7 x64 estable). Los clientes son locales, no se conectan desde afuera de la red.
Si hay proxy en la red, eso influye? Pense que al ser local no tendria nada que ver.

=> Lo del archivo host lo lei y por lo que entendi es:

Entrar a la maquina servidor, abrir el archivo y poner

127.0.0.1 [ip cliente]



--------------------------------------------------------------




Vaya sorpresa, tome el calculo de cuanto tardaba la consulta desde java y tardo 41 milisegundos.

El problema esta al llenar el JTable, se demora haciendo eso.


Esta mal llenarlo asi?:

Aclaro: La funcion mysql devuelve una lista "listaExpedientes" (son los registros) donde la recorro para llenar el jTable.

Código:
    public void cargarTablaExpedientes(JTable tabla) {

        if (listaExpedientes.size() > 0) {
            DefaultTableModel modelo = (DefaultTableModel ) tabla.getModel();
 
            String[] fila = new String[5];
            for (int i = 0; i < listaExpedientes.size(); i++) {

                String expediente = listaExpedientes.get(i).getFormato_expediente();

                int id_tema = listaExpedientes.get(i).getId_tema();
                int id_proveedor = listaExpedientes.get(i).getId_proveedor();

                fila[0] = String.valueOf(listaExpedientes.get(i).getId_expediente());
                fila[1] = UtilidadesTimers.getFechaMySQLtoNormal(listaExpedientes.get(i).getFecha(), "-");
                fila[2] = expediente;
                if (id_tema > 0) {
                    fila[3] = TemasBD.getTema(id_tema).getNombre();
                } else {
                    fila[3] = "S/T";
                }
                fila[4] = ProveedoresBD.getProveedor(id_proveedor).getNombre();
                modelo.addRow(fila);
            }
        }

    }

Tardo: 8346 milisegundos en llenar el jTable

Última edición por martin0290; 09/09/2014 a las 09:47