mysql:21个性能优化最佳实践之14[把IP地址存成UNSIGNED INT]
2014-01-09 13:10
567 查看
把IP地址存成 UNSIGNED INT
很多程序员都会创建一个 VARCHAR(15) 字段来存放字符串形式的IP而不是整形的IP。如果你用整形来存放,只需要4个字节,并且你可以有定长的字段。而且,这会为你带来查询上的优势,尤其是当你需要使用这样的WHERE条件:IP between ip1 and ip2。
我们必需要使用UNSIGNED INT,因为 IP地址会使用整个32位的无符号整形。
而你的查询,你可以使用 INET_ATON() 来把一个字符串IP转成一个整形,并使用 INET_NTOA() 把一个整形转成一个字符串IP。在PHP中,也有这样的函数
ip2long() 和 long2ip()。
很多程序员都会创建一个 VARCHAR(15) 字段来存放字符串形式的IP而不是整形的IP。如果你用整形来存放,只需要4个字节,并且你可以有定长的字段。而且,这会为你带来查询上的优势,尤其是当你需要使用这样的WHERE条件:IP between ip1 and ip2。
我们必需要使用UNSIGNED INT,因为 IP地址会使用整个32位的无符号整形。
而你的查询,你可以使用 INET_ATON() 来把一个字符串IP转成一个整形,并使用 INET_NTOA() 把一个整形转成一个字符串IP。在PHP中,也有这样的函数
ip2long() 和 long2ip()。
相关文章推荐
- MySQL性能优化的21个最佳实践 和 mysql使用索引
- MySQL性能优化的21个最佳实践 和 mysql使用索引
- MySQL性能优化的21个最佳实践
- MySQL性能优化的21个最佳实践
- MySQL性能优化的21个最佳实践 和 mysql使用索引
- MySQL性能优化的21个最佳实践 和 mysql使用索引
- MySQL性能优化的21个最佳实践 和 mysql使用索引
- MySQL性能优化的21个最佳实践 和 mysql使用索引
- mysql:21个性能优化最佳实践之16[垂直分割]
- [重要] -- MySQL性能优化的21个最佳实践 和 mysql使用索引
- MySQL性能优化的21个最佳实践
- MySQL性能优化的21个最佳实践 和 mysql使用索引
- mysql:21个性能优化最佳实践之17[拆分大的 DELETE 或 INSERT 语句]
- MySQL性能优化的21个最佳实践(转载)
- MySQL性能优化的21个最佳实践
- MySQL性能优化的21个最佳实践 和 mysql使用索引
- MySQL性能优化的21个最佳实践(转载)
- MySQL性能优化的21个最佳实践 和 mysql使用索引
- MySQL性能优化的21个最佳实践
- mysql:21个性能优化最佳实践之19[选择正确的存储引擎]