Muy buenos días Gente del Foro y Felices Fiestas!!
estoy haciendo una consulta en mi BD donde la idea es saber de que paises me visitan los usuarios, el detalle es que el dato que necesito es la lista de paises y cuantos usuarios unicos me han visitado (utilizo l aip del visitante para definir un usuario único)
bueno, tengo una BD con los rangos de ip de todos los paises son 102.339 registros y tengo otra tabla con las ip de los usuarios que me visitan (hay ip repetidas pues son usuarios recurrentes)
he escrito el siguiente código para hacer la consulta:
Código PHP:
Ver originalSELECT T1
.ip_publica
AS ip
, T2
.*, T2
.country_name
AS pais
, COUNT(T2
.country_name
) AS total FROM
(SELECT
* FROM stat_user GROUP BY ip_publica
) AS T1 LEFT
JOIN stat_country
AS T2 ON INET_ATON
(T1
.ip_publica
)>=T2
.IP_FROM AND INET_ATON
(T1
.ip_publica
)<=T2
.IP_TO GROUP BY pais ORDER BY total DESC LIMIT
0,10
el resultado es el esperado, pero se demora +/- 30 segundos en arrojar el resultado.
Alguien conoce una mejor forma de hacer esta consulta?
Muchas gracias por su tiempo y colaboración.