[前][次][番号順一覧][スレッド一覧]

mysql:10103

From: 渡邊昌之 <渡邊昌之 <mark@xxxxxxxxxx>>
Date: Fri, 10 Sep 2004 14:41:45 +0900
Subject: [mysql 10103] Re: IPアドレス格納・検索方法

はじめまして、渡邊と申します。

INET_ATON(expr) 
と
INET_NTOA(expr) 
という関数がMysqlに用意されていますのでこれを使えば
いいんじゃないでしょうか。

例
mysql> SELECT INET_ATON("209.207.224.40");
       ->  3520061480

mysql> SELECT INET_NTOA(3520061480);
       ->  "209.207.224.40"

型をINTにして、
CIDRで取り出したいと思ったら
ビット演算すればいいんじゃないかと

Yoshiaki Saita <yoshia-s@xxxxxxxxxx> wrote:

> 
> 斎田と申します。
> 
> 今回、テーブルにIPv4アドレスを格納しないといけないのですが、
> どのような方法が効率的でしょうか。
> 今までは、PostgreSQLを利用しており、
> ネットワークアドレスデータ型、関数が利用できてました。
> 
> 
> 格納したデータの検索は、
> IPアドレスを指定してデータを抽出するのはもちろん、
> CIDRなどの記述ででも取り出せるようにする予定です。
> 
> 
> 現在では、
> 
> IPAddress varchar(16)
> 
> とし、文字列として格納しています。
> 検索の時には文字列比較で抽出していますが、
> 文字列比較はかなりのコストがかかり相当遅くなるようです。
> 
> IPアドレスを何らかの数値に変換して記録できれば
> 速度的にかなり速くなると伺ったことがあります。
> 
> レコード数は1000万件以上あります。
> 
> 
> 何か効率的な格納、検索方法等ございましたら
> ご教授頂ければ幸いです。


_______________________________________
渡邊昌之
mark@xxxxxxxxxx
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[前][次][番号順一覧][スレッド一覧]

     10099 2004-09-10 13:33 [Yoshiaki Saita <yosh] IPアドレス格納・検索方法                
     10100 2004-09-10 13:47 ┣[seiji takegata <take]                                       
     10101 2004-09-10 13:53 ┣[hiroshi nagasaka <h-]                                       
     10102 2004-09-10 14:13 ┣[坂東健一 <bando@xxxx]                                       
->   10103 2004-09-10 14:41 ┣[渡邊昌之 <mark@xxxxx]                                       
     10105 2004-09-10 14:42 ┗[HAMAI Kyoichi <k-ham]                                       
     10139 2004-09-14 20:35  ┗[Yoshiaki Saita <yosh]