Ver Mensaje Individual
  #10 (permalink)  
Antiguo 09/01/2010, 04:52
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Como Obtimizar esta Consulta?

abigor66,
creo que te estoy llevando a error porque no te he aclarado todo lo que hice. A la ip de usuario que visita mi página le aplico INET_ATON() antes de guardarla en un campo al que llamo numero en la tabla que yo tengo de useronline. En la tabla donde aparecen todas las IPs por países existe un campo IP_start y otro IP_end; yo creé dos campos, uno start y otro end, ambos numéricos, que eran el resultado de aplicar INET_ATON() a IP_start e IP_end, respectivamente. Tras crear esos dos campos en la tabla donde tienes todas las IPs un par de updates del tipo:
UPDATE tabla SET start= INET_ATON(IP_start)
UPDATE tabla SET end = INET_ATON(IP_end)
Naturlamente indexé luego start y end.
Lo que comparo es si ese numero, es decir, el resultado de aplicar INET_ATON() a la IP del usuario que entra, con la aplicación de INET_ATON a IP_start e IP_end, es decir, con start y end debidamente indexados.
La búsqueda me tarda 0,33 segundos, no 6 segundos, y eso que, como te dije, yo hago un cruce más con otra tabla. Mira a ver si puedes hacer lo mismo. Si estás buscando por IPs tal y como se representan, el resultado será incorrecto.

Última edición por jurena; 09/01/2010 a las 09:09