在我们的应用程序中,我们根据一些计算在一个表中创建了很多行。由于行的数量,我们在.Net应用程序中使用BULK INSERT来快速写入行。
但是,我们需要知道在BULK INSERT调用中写入了哪些ID。因此,我们的想法是生成GUID,并将其添加到批量更新中写入的每一行。所以GUID会持久存在于表中。
如果我们需要查看写入的行,我们可以SELECT .. FROM TABLE ... WHERE SessionID =
我们生成的guid。
我在表上有一个名为SessionID的列(例如),VARCHAR(50)NOT NULL,Indexed。
这是可接受的设计吗?
答案 0 :(得分:3)
您应该创建类型为'uniqueidentifier'的列,该列用于存储GUID值。在内部,它将它存储为16字节(128位)整数,而不是您想要使用的慢得多的字符串。
性能应该非常好,因为您只是比较16个字节值来构建索引,这是一个非常快速的操作。