扫码关注官方订阅号
看到有的数据库结构ip用int存储,然后通过ip2long转化,不过这个函数好像有bug,大家怎么看?
Mysql可以参考这个答案。
Postgres直接由网络地址类型,参考这里
用varchar或者char 理由: 1.省去转化的过程 2.ipv4或ipv6的都可以存
两种都存不就好
一般网站只是记录用户的一些信息用varchar(15)就行了 int一般是做ip库用的,容易分段记录查询一个ip的所属省市等
用int存省空间,只用4个字节,char的话要用7~15个字节。 最重要的是方便查询比较(数值比较),而且设置整形为索引也比char效率高。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
Mysql可以参考这个答案。
Postgres直接由网络地址类型,参考这里
用varchar或者char
理由:
1.省去转化的过程
2.ipv4或ipv6的都可以存
两种都存不就好
一般网站只是记录用户的一些信息用varchar(15)就行了
int一般是做ip库用的,容易分段记录查询一个ip的所属省市等
用int存省空间,只用4个字节,char的话要用7~15个字节。
最重要的是方便查询比较(数值比较),而且设置整形为索引也比char效率高。