I have the following query;
SELECT id,
oficina,
sector,
nombre,
correo,
telefono,
ext,
comentario,
datos_solicitudes.fecha,
fecha_no_laboral,
prioridad,
estado,
asignado,
fecha_ultima_respuesta,
expediente,
orden_servicio,
tipo_solicitud,
provincia,
municipio,
seccion,
localidad,
calle,
aviso_acceso_finca,
area_ejecucion,
oficina_comercial,
numero_puerta,
duplicador,
referencia,
nombre_finca,
tipo_finca,
estado_finca,
nic_anterior,
nic_posterior,
entidades_comerciales.ct,
tipo_suministro,
tipo_conexion,
tarifa,
tension_voltaje,
cgv,
nombre_suministro,
coordenadasx,
coordenadasy,
entidades_comerciales.nis,
entidades_comerciales.nif,
(SELECT comentarios.fecha_comentario
FROM comentarios
WHERE comentarios.id_solicitud = datos_solicitudes.id
AND comentarios.fecha_comentario >= "2017-12-27 08:00:00"
AND comentarios.fecha_comentario <= "2017-12-27 23:00:00"
ORDER BY comentarios.fecha_comentario ASC
LIMIT 1) AS coment_first,
(SELECT comentarios.comentario
FROM comentarios
WHERE comentarios.id_solicitud = datos_solicitudes.id
AND comentarios.fecha_comentario >= "2017-12-27 08:00:00"
AND comentarios.fecha_comentario <= "2017-12-27 23:00:00"
ORDER BY comentarios.fecha_comentario DESC
LIMIT 1) AS coment_last
FROM datos_solicitudes
INNER JOIN entidades_comerciales
ON id = id_solicitud
WHERE datos_solicitudes.fecha >= "2017-12-27 08:00:00"
AND datos_solicitudes.fecha <= "2017-12-27 23:00:00"
AND estado <> 'En Bandeja'
The problem is that the next block slows down my query because it queries all the data in the comment table (about 30 thousand current records);
(SELECT comentarios.fecha_comentario
FROM comentarios
WHERE comentarios.id_solicitud = datos_solicitudes.id
AND comentarios.fecha_comentario >= "2017-12-27 08:00:00"
AND comentarios.fecha_comentario <= "2017-12-27 23:00:00"
ORDER BY comentarios.fecha_comentario ASC
LIMIT 1) AS coment_first,
(SELECT comentarios.comentario
FROM comentarios
WHERE comentarios.id_solicitud = datos_solicitudes.id
AND comentarios.fecha_comentario >= "2017-12-27 08:00:00"
AND comentarios.fecha_comentario <= "2017-12-27 23:00:00"
ORDER BY comentarios.fecha_comentario DESC
LIMIT 1) AS coment_last
Perform the query in the console and I received the following;
The ID of the table 'request_data' is an INT, while the 'Id_application' of the 'comments' table is varchar.