MySQL - Optimizacion QUery

   
Vista:

Optimizacion QUery

Publicado por Luis (1 intervención) el 15/11/2015 07:35:40
Hola, una pregunta ¿qué tiene de malo esta Query?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Select
	P.ID,
        P.Nombres,
        P.Apellidos,
	PHC.Horas,
	D.Nombre
from
	Personal P
Inner Join
	PersonalServicios PS ON (P.ID =PS.IDPersonal AND PS.IDServicio=1 )
Inner Join
	PersonalContratos PC ON (PS.IDPersonal=PC.IDPersonal AND PC.FechaBaja is null )
Inner Join
	PersonalHorasContrato PHC ON  PC.IDPersonal=PHC.IDPersonal
Inner Join
	PersonalDisponibilidad PD ON  PHC.IDPersonal=PD.IDPersonal
Inner Join
	Disponibilidad D ON  D.Id=PD.IDDisponibilidad;

Mi duda surge por que al hacer un explain SQLme dice Disponibilidad uso como KEY el nombre.


Explain
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Xavi

Optimizacion QUery

Publicado por Xavi (2 intervenciones) el 15/11/2015 20:20:59
Hola Luis, la verdad es que no entiendo muy bien, ya que no utilizas para nada el nombre en tu consulta... que índices tienes definidos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Optimizacion QUery

Publicado por Saul Hernandez (18 intervenciones) el 16/11/2015 05:34:20
Hola Luis..

El Explain te dice lo que tienes que hacer


a) Usa Indices en tus tablas que se uniran PersonalServicios Etc.
b) En la Columan Extra Te dice que esta null (es decir no cumple con lo que tu quieres)
c) Te recomienda usar un Where o aun le falta una condicion.

Otra cosa que puedes hacer es force index

Saludos Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar