稀疏列是对 Null 值采用优化的存储方式的普通列。稀疏列减少了 Null 值的空间需求,但代价是检索非 Null 值的开销增加。当至少能够节省 20% 到 40% 的空间时,才应考虑使用稀疏列。
当您连接到 SQL Server 2008 或更高版本的服务器时,SQL Server JDBC Driver 3.0 支持稀疏列。可以使用 SQLServerDatabaseMetaData.getColumns、SQLServerDatabaseMetaData.getFunctionColumns 或 SQLServerDatabaseMetaData.getProcedureColumns 确定哪个列是稀疏列以及哪个列是列集列。
列集是返回非类型化 XML 形式的所有稀疏列的计算列。当表中有很多列、大于 1024 或分别对这些稀疏列进行操作很烦琐时,应考虑使用列集。列集最多可以包含 30,000 个列。