Mysql
 sql >> Database >  >> RDS >> Mysql

In alcuni casi mancano gli indici tra le istruzioni

Se una di queste query restituirà al massimo una riga, ciò significa che il (sATON, eATON) gli intervalli non si sovrappongono.

Pertanto, e solo se gli intervalli non si sovrappongono, puoi invece utilizzare questa query:

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

o anche questo (che dovrà usare un solo indice, il sATON uno):

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