我有一个导入过程,我在.Net 中获取一个 CSV 文件,并将其写入数据库中的两个用户表。这是一个相当复杂的过程,一次需要几分钟才能处理大约 500 个用户。 在这个过程中,我需要生成一个字符串,随机字符串,对于每个用户来说都是唯一的,因为它使他能够访问一些促销事件。我无法使用 GUID,因为它必须是用户在启动屏幕中输入的简单字符串。 我需要知道的是,检查每个新生成的 key 是否不重复数千个现有用户中已创建的 key 的最佳方法是什么。 我不想在每个插入的行中添加新查询,询问字符串是否已经存在。
谢谢,我希望我说得足够清楚
最佳答案
与可能的唯一键的数量相比,有多少用户?
如果可能的键比用户的数量多,那么我只需在键列上添加一个唯一约束,并在违反约束时生成一个新键。
如果您可能会因上述技术而发生很多冲突,那么您可以选择以下几个选项:
- 预先生成一组唯一键,将它们存储在表中的某个位置,并在需要时获取一个。
- 为键添加一些唯一性:用户是否有可以合并的唯一 ID?
关于c# - .Net 到 SQL,比较唯一值的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4747120/