c# - 从 Guid 获取与 SQL 兼容的字符串的更快方法

标签 c# sql-server sql-server-2005 bulkinsert

我在分析我的应用程序时注意到了这一行特定的代码(它通过处理一些原始数据创建了大量的数据库插入):

myStringBuilder.AppendLine(
    string.Join(
        BULK_SEPARATOR, new string[]{myGuid.ToString() ...

请记住,生成的字符串将最终保存在通过 TSQL 命令 BULK INSERT 调用的文件中,有没有一种方法可以更快地执行此步骤?我知道获取字节数组更快,但我不能直接将其插入文件。

最佳答案

最快的最简单的方法是根本不对原始文件使用BULK INSERT。相反,使用 SqlBulkCopy类(class)。这应该通过直接通过管道而不是使用中间文件发送数据来显着加快速度。

(您还可以直接使用 Guid 而无需任何字符串转换,尽管我不能 100% 确定 SqlBulkCopy 在内部使用它做什么。 )

关于c# - 从 Guid 获取与 SQL 兼容的字符串的更快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2276546/

相关文章:

c# - linq - 如何查找一个集合的键列是否是另一个集合的子集?

c# - 多线程共享计数器和List集合变量

sql - 索引和 NOT 运算符

子查询中具有多部分标识符问题的 SQL 查询

sql-server - SQL Server - 动态数据透视表 - SQL 注入(inject)

sql-server - SQL Server - 事务复制(仅限部分数据)

c# - 方法或操作未实现 : Reset all sessions in my application

c# - Serilog 不使用 .NET Core 2.2 写入文件

sql-server - EXECUTE AS USER 对数据库中请求的用户 dbo 失败

sql - 谁在 SQL Server 代理中禁用了作业