sql >> Base de Datos >  >> RDS >> Mysql

Entre declaraciones que faltan índices en ciertos casos

Si alguna de estas consultas devolverá un máximo de una fila, esto significa que (sATON, eATON) los rangos no se superponen.

Por lo tanto, y solo si los rangos no se superponen, puedes usar esta consulta en su lugar:

SELECT * 
FROM data2 
WHERE sATON = 
      ( SELECT MAX(sATON)
        FROM data2 
        WHERE sATON <= 1112203488
      )
  AND eATON = 
      ( SELECT MIN(eATON)
        FROM data2 
        WHERE eATON >= 1112203488
      )

o incluso esto (que necesitará usar solo un índice, el sATON uno):

SELECT * 
FROM data2 
WHERE sATON = 
      ( SELECT MAX(sATON)
        FROM data2 
        WHERE sATON <= 1112203488
      )
  AND eATON >= 1112203488