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

Consulta tarda demasiado

Estas en el tema de Consulta tarda demasiado en el foro de Mysql en Foros del Web. Estimados, nuevamente recurro a vuestros conocimientos. En esta oportunidad con la siguiente inquietud: Tengo una ddbb donde necesito hacer una consulta en la que combino ...
  #1 (permalink)  
Antiguo 10/06/2010, 20:03
 
Fecha de Ingreso: junio-2008
Mensajes: 122
Antigüedad: 15 años, 10 meses
Puntos: 1
Consulta tarda demasiado

Estimados, nuevamente recurro a vuestros conocimientos.
En esta oportunidad con la siguiente inquietud:

Tengo una ddbb donde necesito hacer una consulta en la que combino dos tablas mediante un join.
La consulta basicamente es SELECT tabla_a.campo_1, tabla_b.campo_2 FROM tabla_1 JOIN tabla_2 WHERE tabla_a.id = tabla_b.id

Como veran de lo mas simple. El unico tema es que tanto la tabla A como la B tienen 9000 y 7000 campos respectivamente.

La consulta tarda 90 segundos segun PHP MyAdmin.
Pense que era el servido medio lento, la probe en otro y tarda 120 segundos.

Estoy haciendo algo mal? deberia migrar a otro servidor con mas potencia y si es ese el caso a cual? alguno para recomendarme?

Desde ya muchas gracias!

Lucianomdq
  #2 (permalink)  
Antiguo 10/06/2010, 20:32
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Consulta tarda demasiado

Es que la sintaxis para JOIN es:
Código MySQL:
Ver original
  1. SELECT t1.campo_1, t2.campo_2 FROM tabla_1 t1 JOIN tabla_2 t2 USING (id);
Aunque tantos campos me hace pensar que la base de datos quizás esté mal diseñada.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 11/06/2010, 06:20
 
Fecha de Ingreso: junio-2008
Mensajes: 122
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Consulta tarda demasiado

Supongamos que la tabla A son personas y la tabla B son ciudades. De que otra forma podria diseñar la ddbb en casos como este en que es simplemente una tabla grande cruzada con otra?

De paso... gracias por la correccion de JOIN
  #4 (permalink)  
Antiguo 11/06/2010, 06:52
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Consulta tarda demasiado

Mira un poco el tema de indices, puede ayudarte a mejorar el rendimiento de la consulta.
http://www.webtaller.com/construccio...ices-mysql.php

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 11/06/2010, 06:52
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: Consulta tarda demasiado

Cita:
El unico tema es que tanto la tabla A como la B tienen 9000 y 7000 campos respectivamente.
¿Esatás hablando de campos o de registros?

Si son campos, es una locura. Nadie diseña una tabla con 7.000 campos, y menos con 9.000. Eso hablaría de un serio problema de diseño.

Si te refieres a registros, habría que ver la estructura de ambas tablas (el CREATE TABLE ... de cada una) para ver qué puede estar ocasionando tan baja performance.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 11/06/2010, 06:57
 
Fecha de Ingreso: junio-2008
Mensajes: 122
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Consulta tarda demasiado

Registros son. Perdon!
Voy a consultar el tema de los indices. Algo estuve leyendo al respecto y hay algo que me podria llegar a servir pero realmente no lo entiendo.
Los indices combinados.
Entiendo que puedo crear un indice y esto ayuda a la consulta a buscar los registros, pero no entiendo como incluirlos en la misma.
Tengo que especificar algo del indice cuando hago SELECT sarasa...?
Como hago para indicar que el indice es combinado?
Gracias!
  #7 (permalink)  
Antiguo 11/06/2010, 07:05
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: Consulta tarda demasiado

Para resolver ese tipo de dudas, hay que consultar el manual de referencia:
7.4.5. Cómo utiliza MySQL los índices
porque son demasiado largas las explicaciones para poner todo en un post.

O bien algún tutorial de la web:
Los índices en MySQL
Leelo y pregunta las dudas que te surgan luego.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 11/06/2010, 07:36
 
Fecha de Ingreso: junio-2008
Mensajes: 122
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Consulta tarda demasiado

Ok, gracias por el material!
Saludos

Etiquetas: tarda
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 19:00.