说到 .NET,Microsoft.Data.SqlClient 6.1.0中新增了Sqlvector类。该类能够以向量格式处理数据,而非之前使用的低效 JSON 数组格式。相比之下,向量类型的读取性能提升高达 50 倍,写入性能提升高达 3.3 倍,批量复制性能提升高达 19 倍。这些性能测试是在SQL Server 2025 预览版上进行的,向量列最大为 1998 个字符,每次 操作处理 10000 条记录。
此外,由于不再需要 JSON 序列化,无需冗长的字符串表示,内存消耗也更低。最后,目前原生支持 32 位浮点向量,但未来也可以扩展支持其他数值数据类型。
切换到 JDBC 环境,其中有一个新的VECTOR数据类型适用于 SQL Server 13.1.0 的 JDBC 驱动程序。它可直接用于插入、选择、存储过程和批量复制。此版本还移除了基于字符串的向量处理,使其非常适合与 Java 驱动的 AI 应用程序(包括提供语义搜索的应用程序)集成。
值得注意的是,这些改进适用于各种平台,包括 SQL Server 2025 (17.x) 预览版、Azure SQL 数据库、Azure SQL 托管实例和Microsoft SQL 数据库Fabric 预览。值得一提的是,这些改进是通过优化表格数据流 (TDS) 协议实现的,因此仅在 TDS 7.4 或更高版本中可见。
不支持此协议的客户端将继续使用varchar(max)数据类型,并将数据视为 JSON 数组以实现向后兼容,这意味着它们将无法体验上述任何增强功能。
有关所有详细信息,请查看发行说明:https://github.com/dotnet/SqlClient/releases/tag/v6.1.0
JDBC 发行说明:https://github.com/microsoft/mssql-jdbc/releases/tag/v13.1.0