Considere la posibilidad de una dirección IP común para asignar códigos de países. Desnudaron a lo esencial para buscar el código de país el archivo común tendrá un int para el comienzo y el final de la gama junto con un código de país.
Utilizando esta estructura, no sé de motor ya sea una base de datos o archivo plano, puede localizar la posición de abordar una IP sin tener que hacer múltiples busca que implican cálculos para analizar tanto el alcance y encontrar la posición siguiente entre cada iteración.
Si se crea un único archivo de 4 GB con un solo byte correspondiente a cada código de país, todo lo que tienes que hacer es convertir la propiedad intelectual a un int, abra el archivo, y tratar de la posición de ese INT en el archivo para leer los bytes que le dice lo que quiere saber.
Tenemos que tener en cuenta que la mayoría del tiempo un mapa de la propiedad intelectual en el primer formato que la situación sólo sería un MB de tamaño mayor de 4GB VS para el segundo método. Lo que significa que sería mucho más fácil de sujetar los primeros métodos archivo entero en la memoria.
Su no poco común encontrar servidores con 16 GB de memoria en estos días, sin embargo, de manera realista, debemos ser capaces de almacenar el conjunto de datos para el segundo método en la memoria también.
Pero suponiendo que esto es un servidor en el que sólo el primer método podría tener su conjunto de datos guardado en la memoria, ¿prefieres utilizar el primer método con cálculos múltiples y tiene por objeto, o el segundo método que se verían obligados a trabajar siempre con el disco que necesitaría un buscar?
Considerando que este es de asignación de IP a país, lo más probable es que va a ser algo que se hace con cada visitante único.