Les adresses IP sont essentiellement des nombres entiers.
Stockez-les sous forme d'entiers et utilisez l'index sur la colonne correspondante - les requêtes seront ainsi très rapides. Gardez simplement à l'esprit que les adresses IPv6 sont trop grandes pour les entiers 32 bits, vous pouvez donc envisager d'utiliser varchar(16) à la place et stocker des représentations binaires de vos adresses IP.
En ce qui concerne les performances de votre application, à mon avis, il est toujours bon d'utiliser une sorte de système de mise en cache pour ce type de statistiques. Par exemple, régénérez vos statistiques uniquement si un certain intervalle de temps s'est écoulé.