JavaEE5に基づく特定のWebアプリケーションを使用するすべてのユーザーのIPアドレス情報をログに記録する必要があります。
次のサポートされているデータベース(h2、mysql、oracle)にIPv4またはIPv6アドレスを格納するための適切なSQLデータ型は何ですか?
特定のIPアドレスからのアクティビティをフィルタリングする必要もあります。表現を文字列フィールド(たとえば、ipv4、ipv6アドレスを保持するvarchar(32))として扱う必要がありますか?
IP アドレスを に保存しますvarchar(15)
。これは読みやすく、特定の IP のようにフィルタリングできますwhere ip = '1.2.3.4'
。
のようにネットワークでフィルタリングする必要がある場合1.2.3.4/24
は、別の話になります。その場合、IP アドレスを 4 バイトのバイナリとして保存することをお勧めします。
大量のデータがあり、検索する必要がある場合は、パフォーマンスのために、IP の文字列 (ドット) 表現を適切な整数値に変換することをお勧めします。
これらのいずれかが有効です
そういえば、SQL Serverのsys.dm_exec_connectionsにvarchar(48)...