sql >> Base de Datos >  >> RDS >> Sqlserver

Microsoft SQL Server 2005/2008:XML frente a tipo de datos de texto/varchar

Si almacena xml en una columna de tipo xml, los datos no se almacenarán como texto simple, como en el caso de nvarchar, se almacenarán en algún tipo de árbol de datos analizados, que a su vez será más pequeño que la versión xml no analizada. Esto no solo reduce el tamaño de la base de datos, sino que le brinda otras ventajas, como validación, fácil manipulación, etc. (aunque no esté usando ninguno de estos, aún así, están ahí para uso futuro).

Por otro lado, el servidor tendrá que analizar los datos al momento de la inserción, lo que probablemente ralentizará su base de datos; debe tomar una decisión entre la velocidad y el tamaño.

Editar:

Personalmente, creo que los datos en la base de datos deben almacenarse como xml solo cuando tienen una estructura que es difícil de implementar en un modelo relacional, p. diseños, descripciones de estilo, etc. Por lo general, eso significa que no habrá muchos datos y la velocidad no es un problema, por lo que se agregaron características xml, como la validación de datos y la capacidad de manipulación (también, por último, pero no menos importante, la capacidad de hacer clic en el valor en Management Studio y veo xml formateado - ¡Realmente me encanta esa característica!), superan los costos.

No tengo experiencia directa en almacenar grandes cantidades de xml en la base de datos y no lo haría si tuviera la opción, ya que casi siempre es más lento que un modelo relacional, pero si ese fuera el caso, yo d recomienda perfilar ambas opciones, y elegir entre el tamaño y la velocidad que mejor se adapte a sus necesidades.