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

Optimización de la consulta MySQL para la búsqueda de rango de enteros

Si los rangos de IP no se superponen, por lo que la consulta nunca devolverá más de 1 fila, puede usar esto:

SELECT q.*
FROM 
  ( SELECT csv.* 
    FROM csv
    WHERE csv.begin < 3338456592 
    ORDER BY csv.begin DESC
    LIMIT 1
  ) AS q
WHERE 3338456592 < q.end ;

No es necesario agregar ningún índice. Se utilizará el índice principal.