在数据库中新建一个表时,存储数据类型对性能有比较大的影响,其中包括数据的存储空间,查询的开销等。对于IP地址的存储方式,也会影响到一些逻辑操作,比如比较大小之类,当然对于IP地址来说,有时候可读性也应该考虑一下。
因为项目中有用到新建aspx页面,然后从后台获取摄像机的IP地址,在数据库中新建表,思考了IP地址的存储方式。
以ipv4为例,例如192.168.23.98,长度大小为32位(4字节),如何将其存储到数据库中?以项目要求来定
从三方面考虑:可读性,存储效率,查询效率。
可以用下列方式进行存储:
1.varchar(15) 可读性好192.168.23.98.存储空间最大
2.bigint (8字节) 存储为1921682398 可读性差,费空间,易混淆21.92 219.2
3.tinyint (4字节) 用4个字段分开存储,可读性差,存储占用少
4.varbinary(4) 可读性差,占用少
因为项目中只需要取出IP地址,可读性必须放在第一位,也无需比较大小,浪费的空间可以解决取出数据能立即使用,所以选择的是varchar(15)
具体的选取方式需根据各自项目,然后择优选择。
详细的分析来自于 http://www.cnblogs.com/skynet/archive/2011/01/09/1931044.html