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

[SOLUCIONADO] Optimizar Consulta

Estas en el tema de Optimizar Consulta en el foro de Bases de Datos General en Foros del Web. Hola amigos, tengo la siguiente consulta que involucra a 3 tablas y me gustaría preguntarles si esta optimizada o si tienen ideas para mejorarla Código: ...
  #1 (permalink)  
Antiguo 02/07/2017, 22:39
Avatar de julia2021  
Fecha de Ingreso: diciembre-2014
Ubicación: Mexico
Mensajes: 152
Antigüedad: 9 años, 4 meses
Puntos: 11
Sonrisa Optimizar Consulta

Hola amigos, tengo la siguiente consulta que involucra a 3 tablas y me gustaría preguntarles si esta optimizada o si tienen ideas para mejorarla
Código:
SELECT tbl_clientes.id_cliente, tbl_clientes.nombre,
      tbl_contratos.id_contrato, tbl_contratos.nombre,
      tbl_ordenes.id_orden, tbl_ordenes.titulo, COUNT(*) As total

FROM tbl_ordenes INNER JOIN tbl_contratos 
      ON tbl_ordenes.id_contrato = tbl_contratos.id_contrato

INNER JOIN tbl_clientes 
      ON tbl_clientes.id_cliente = tbl_contratos.id_cliente

GROUP BY `tbl_clientes`.`id_cliente`
ORDER BY `total` DESC
La lógica de las tablas es:
- En una tabla existen cualquier cantidad de Ordenes_de_Servicio
- Una orden_de_servicio esta asociada a un contrato
- Y a su vez un contrato esta asociado a un cliente
  #2 (permalink)  
Antiguo 03/07/2017, 07:35
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Optimizar Consulta

Optimizarla en que sentido?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 03/07/2017, 13:05
Avatar de julia2021  
Fecha de Ingreso: diciembre-2014
Ubicación: Mexico
Mensajes: 152
Antigüedad: 9 años, 4 meses
Puntos: 11
Respuesta: Optimizar Consulta

En el sentido de saber si esta bien formulado el query que involucra 3 tablas, optimizado para saber que no esta consumiendo recursos de procesomiento sin necesidad, o para saber si hay otra forma de obtener el mismo resultado y hacer el query más eficiente
  #4 (permalink)  
Antiguo 03/07/2017, 14:03
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Optimizar Consulta

Cita:
Iniciado por julia2021 Ver Mensaje
En el sentido de saber si esta bien formulado el query que involucra 3 tablas
Regresa lo que necesitas? Si es asi esta bien formulado

Cita:
Iniciado por julia2021 Ver Mensaje
optimizado para saber que no esta consumiendo recursos de procesomiento sin necesidad
Eso no se puede saber nada mas viendo el query, faltan mas detalles, por ejemplo cual es el plan de ejecucion del mismo, tiempo de respuesta, numero de renglones de cada tabla, numero de indices etc etc.

Cita:
Iniciado por julia2021 Ver Mensaje
o para saber si hay otra forma de obtener el mismo resultado y hacer el query más eficiente
Esa seria la manera mas eficiente de hacer un query entre 3 tablas, no veo ningun where y como te dije desconozco los tamaños de tus tablas
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 03/07/2017, 14:40
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: Optimizar Consulta

Esa query barre con todos los datos de las tablas

Coloque exactamente lo que necesita recuperar (en lenguaje humano) y ahí se podría analizar el query
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.

Etiquetas: innerjoin, query
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 18:22.