>백엔드 개발 >PHP 튜토리얼 >ip地址存储建议用int还是varchar(15),效率有差别吗

ip地址存储建议用int还是varchar(15),效率有差别吗

WBOY
WBOY원래의
2016-06-06 20:44:391331검색

看到有的数据库结构ip用int存储,然后通过ip2long转化,不过这个函数好像有bug,大家怎么看?

回复内容:

看到有的数据库结构ip用int存储,然后通过ip2long转化,不过这个函数好像有bug,大家怎么看?

Mysql可以参考这个答案。

Postgres直接由网络地址类型,参考这里

用varchar或者char
理由:
1.省去转化的过程
2.ipv4或ipv6的都可以存

两种都存不就好

一般网站只是记录用户的一些信息用varchar(15)就行了
int一般是做ip库用的,容易分段记录查询一个ip的所属省市等

用int存省空间,只用4个字节,char的话要用7~15个字节。
最重要的是方便查询比较(数值比较),而且设置整形为索引也比char效率高。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.