Hola.
Los índices que debes tener para acelerar esa consulta estan muy claros.
Para registro__ecografia, necesitas un índice sobre nro__recibo
Para ecografia necesitas un índice sobre nro
Para recibo te recomiendo un índice simple sobre fecha.
A la vista del filtro en el WHERE te recomiendo ese índice simple, pero dado que haces una conversión del campo antes de evaluarlo, estás impediendo que el optimizador use un índice. Por ello tienes que cambiar esa parte de la consulta, por el equivalente sin conversiones.
Es decir, cambia el :
(cast(r.fecha as date) between :f1 and :f2)
Por su equivalente :
(r.fecha between :f1 and :f2 + 1 and r.fecha <> :f2 + 1)
Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
|