¿Debo usar binary(16)
o varbinary(16)
?¿Cómo almacenar tanto IPv4 como IPv6 en una sola columna en SQL Server?
Sé que puedo utilizar getAddress()
en java.net.InetAddress
(Java) o System.Net.IPAddress
(C#) para obtener una representación byte[]
de ambos IPv4
y IPv6
, pero si tengo que insertar IPv4
es decir binary(4)
en un campo binary(16)
en SQL Server
, ¿necesito preocuparse por el relleno o algo?
Dado que espero que la mayoría de los IP seguirán estando en IPv4, supongo que varbinary (16) tiene sentido. – Henry
Y el costo de crear un campo de longitud variable – NullUserException
Para obtener detalles sobre el costo exacto, consulte http://msdn.microsoft.com/en-us/library/ms178085.aspx y/o http://sqlskills.com/blogs/paul /post/Inside-the-Storage-Engine-Anatomy-of-a-record.aspx –