IPアドレスは基本的に整数です。
それらを整数として格納し、対応する列でインデックスを使用します-クエリはそのように非常に高速になります。 ipv6アドレスは32ビット整数には大きすぎることに注意してください。代わりにvarchar(16)の使用を検討し、IPアドレスのバイナリ表現を保存することをお勧めします。
アプリケーションのパフォーマンスに関しては、私の意見では、この種の統計には常に何らかのキャッシングシステムを使用するのが良いと思います。たとえば、特定の時間間隔が経過した場合にのみ統計を再生成します。