Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

problema mysql con muchos registros

Estas en el tema de problema mysql con muchos registros en el foro de Mysql en Foros del Web. Hola, estoy haciendo pruebas en una tabla mysql partiendo de varios campos, a partir de 900.000 registros aproximadamente mysql ya no me muestra los registros ...
  #1 (permalink)  
Antiguo 03/03/2016, 05:08
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
problema mysql con muchos registros

Hola, estoy haciendo pruebas en una tabla mysql partiendo de varios campos, a partir de 900.000 registros aproximadamente mysql ya no me muestra los registros en pantalla, creo que es porque el campo primari key lo tengo definido como INT ya que es el id de los registros, entonces como puedo solucionar este problema, los demas campos no pueden contener ninguna clave primaria ni siquiera unica porque son valores que se repiten, que soluciones tengo para esto?
saludos
  #2 (permalink)  
Antiguo 03/03/2016, 05:37
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: problema mysql con muchos registros

Por lo pronto, 900.000 registros de una tabla en MySQL la podemos calificar de "mediana". No de grande. MySQL soporta y puede adminsitrar bases completas ocn todas las tablas de más de ese nivel de registros y no debería generar cuellos de botella, a menos que tengas problemas de hardware o limitaciones de recursos en el servidor.
Pero cuando dices esto:
Cita:
a partir de 900.000 registros aproximadamente mysql ya no me muestra los registros en pantalla
podemos deducir que tienes uno de varios problemas posibles:
1) Que el buffer de consultas sea insuficiente para manejar ese nivel de respuestas.
2) Que satures el ancho de banda al intentar acceder a una cantidad demaisado elevada de registros.
3) Que se genere un timeout en la red por la demora en recuperar datos.
4) Puede ser incluso que tu aplicación (no dices qué usas) no esté optimizada para recibir datos de forma masiva si no están debidamente pagnados.
5) Que la query esté mal redactada y busquews todos los campos innecesariamente.
6) También que la tabla misma esté mal diseñada, con campos mal definidos para el dominio.
... esto como para empezar.-

Además puede ser que las consutlas no estén optimizadas, o que falten índices, o que las condiciones generen full tablescan (lo que sería un espanto); en fin, pueden ser múltiples razones.
Pero lo que seguro NO es, es el INT, ya que eso sólo te afectaría en las inserciones de registros y no en las consultas. Y para que te afecte en el INSERT deberías haber superados los 2.147.483.647 IDs, si es con signo, o los 4.294.967.295 si fuesen sin signo. Y en ese caso lo que te sucedería es un error de clave duplicada...
Básicamente tendrías al menos que multiplicar por más de 2.000 la cantidad de registros que tienes para comenzar a tener problemas.

La verdad, dudo que ése sea la causa.

Explicanos mas detalladamente el contexto y los codigos SQL de los casos donde te falla.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 03/03/2016, 09:38
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: problema mysql con muchos registros

Hola luego detallare más pero para empezar deciros que al hacer un insert me lo inserta pero me dice un mensaje que su id es 1..... el que sea pero en pantalla no me lo muestra, cambie de INT a MÉDIUM y me fue bien.
  #4 (permalink)  
Antiguo 03/03/2016, 09:50
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: problema mysql con muchos registros

Cita:
cambie de INT a MÉDIUM y me fue bien
Eso no tiene sentido.
Un MEDIUMINT tiene mucho menos rango de representación que un INT, dado que en lugar de 32 bits usa 24 bits. Eso implica que el máximo numero representable con signo es 8.388.607, muy por debajo de la cantidad de registros que dices tener. Y en ese caso si pusieras un valor como 8388608, por ejemplo, y el 8388607 ya existiese en la tabla, dispararía un error de clave duplicada.

No le des vueltas, la cosa no va por el tipo de dato, pero sin nos nos explicas cómo es que funciona tu sistema, no podemos ayudarte.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: campo, muchos, registros, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:40.