Convertir una IP a una larga en MySQL

Estoy tratando de usar elip2country tabla para mostrar las banderas de los países de los usuarios en mi sitio web.

Lo más simple que se me ocurrió es escribir una declaración SQL que tome a los usuarios de la tabla de sesión y consultas para ver si su IP respectiva está en un cierto rango para determinar su país / bandera.

Es simple pero también peligroso, porque cuando hay 300 usuarios en línea para mostrar y los obtengo de la tabla de sesión, preguntando a sus países para mostrar las banderas, seguramente habrá un gran uso de memoria.

Ahora probé esto para hacerlo en una sola consulta:

SELECT 
  s.session_ip, 
  ipc.*
FROM 
  session AS s
    LEFT JOIN ip2country AS ipc 
    ON ipc.ip_lo <= s.session_ip AND ipc.ip_hi >= s.session_ip
WHERE 
  s.session_time  > '".( time() - 60) )."' 

Ahora está claro que la consulta anterior es incorrecta porque las IP guardadas en elip2country La tabla es un número entero, p. 1000013824, y las IP almacenadas en la tabla de sesión son las representaciones en cadena de las IP, p. 193.169.0.0

Sé cómo convertir de una IP a una larga en PHP con elip2long(), pero ¿hay algún método equivalente en MySQL para que no tenga que hacer dos consultas?

Respuestas a la pregunta(1)

Su respuesta a la pregunta