Ver Mensaje Individual
  #6 (permalink)  
Antiguo 05/08/2014, 07:58
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses
Puntos: 2658
Respuesta: Problema select tabla 45.000 registros

Más allá de las diferencias de configuración y recursos que tenga cada servidor (no alcanza con lo que dices como para dar una opinión), esa tabla la veo con bastantes problemas.
Como mínimo, no veo que tenga índices definidos, por lo que cualquier consulta basada en los campos VARCHAR será forzosamente ineficeinte.
Por otro lado, veo que no está normalizada, o al menos estos segmentos me sugieren que hay desnormalización, cosa que siemrpe se paga con performance:
Código MySQL:
Ver original
  1. `c2` varchar(45) DEFAULT NULL,
  2.   `c3` varchar(255) DEFAULT NULL,
  3.   `c4` varchar(255) DEFAULT NULL,
  4.   `c6` varchar(45) DEFAULT NULL,
  5.   `c7` varchar(45) DEFAULT NULL,
  6.   `c8` varchar(45) DEFAULT NULL,
  7.   `c9` varchar(255) DEFAULT NULL,
  8. ...
  9.   `LlocResumit` text,
  10.   `NOTES` text,
  11. ...
  12.   `c10` varchar(255) DEFAULT NULL,
  13.   `c11` varchar(255) DEFAULT NULL,
  14.   `c12` varchar(255) DEFAULT NULL,
  15.   `c13` varchar(255) DEFAULT NULL,
  16.   `c14` varchar(255) DEFAULT NULL,
  17.   `c15` varchar(255) DEFAULT NULL,
  18.   `c16` varchar(255) DEFAULT NULL,
  19.   `c17` varchar(255) DEFAULT NULL,
  20.   `c18` varchar(255) DEFAULT NULL,
  21. ...
  22.   `c19` text,
  23. ...
  24.   `c20` varchar(255) DEFAULT NULL,
  25.   `c21` varchar(255) DEFAULT NULL,
  26.   `c22` varchar(45) DEFAULT NULL,
  27.   `c23` varchar(120) DEFAULT NULL,
  28.   `c24` float(10,6) DEFAULT NULL,
  29.   `c25` float(10,6) DEFAULT NULL,
  30.   `c26` float(10,6) DEFAULT NULL,
  31.   `c27` float(10,6) DEFAULT NULL,
  32.   `c28` varchar(45) DEFAULT NULL,
  33. ...
  34.   `c29` int(10) DEFAULT NULL,
Incluyo los campos TEXT, porque el sólo hecho de que sean nulables, me sugiere que son campos opcionales, y en consecuencia no deberían estar en la tabla base. En todo caso deberían estar en una tabla auxiliar.

El hecho de que los datos provengan de una única tabla de Access, no es óbice para no normalizar.
Yo he tenido la oportunidad de trabajar con datos provenientes de cuatro tablas de datos externas, desnormalizada, que luego de recuperada y normalizada la metíamos en 39 tablas diferentes. Y eso lo hacíamos para aumentar la eficiencia de la base.
Todo el tiempo de proceso que se gaste normalizando se gana luego en las consultas.

Finalmente, ¿Qué tipo de consultas hacen? ¿Las hacen con WHEREs sobre condiciones con esos campos VARCHAR? ¿REalizan JOINs de algún tipo?
¿Puedes mostrar algunos ejemplos?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 05/08/2014 a las 08:16