gpt4 book ai didi

.net - 哪种数据验证方法最适合大型数据集

转载 作者:搜寻专家 更新时间:2023-10-30 22:05:23 25 4
gpt4 key购买 nike

我有一个大型数据库,想实现一个允许用户批量更新信息的功能。用户下载 excel 文件,进行更改,系统接受 excel 文件。

  1. 用户使用网络界面 (ASP.NET) 将数据从数据库下载到 Excel。
  2. 用户修改 Excel 文件。只允许修改某些数据作为其他映射到数据库中。
  3. 一旦用户对他们的更改感到满意,他们就会通过 ASP.NET 界面上传更改后的 Excel 文件。
  4. 现在服务器的工作是从 Excel 文件中提取数据(使用 Gembox)并根据数据库验证数据(这是我遇到问题的地方)
  5. 验证完成后,验证结果显示在另一个 ASP.NET 页面上。验证是软的,所以硬失败发生在说到数据库的索引映射丢失时。 (缺失数据导致忽略等)
  6. 用户可以决定将采取的行动是否合适,在接受这些行动后,系统将应用更改。 (添加、修改或忽略)

在应用用户所做的更改和/或添加之前,必须验证数据以避免用户出错。 (意外删除的日期,他们不是故意的)

需要更新的行达到 65k 以上并不遥不可及。

问题是:解析数据以进行验证并构建更改集和添加集的最佳方法是什么?

如果我将必须验证 excel 数据的所有数据加载到内存中,我可能会不必要地影响本已需要大量内存的应用程序。如果我对 excel 文件中的每个元组执行数据库命中,我会看到超过 65k 的数据库命中。

帮忙吗?

最佳答案

我过去看到的方法是:

  1. 将用户数据批量加载到数据库中的“暂存”表中。
  2. 通过单个存储过程(执行一系列查询)验证暂存表中的数据,标记验证失败的行,需要更新等。
  3. 根据需要对标记的行进行操作。

这对于验证缺失的列、有效的键值等非常有效。它不太适合检查各个字段的格式(不要让 SQL 拉开字符串)。

正如我们所知,有些人对将业务逻辑放在数据库中感到不自在,但这种方法确实限制了应用程序对数据库的访问次数,并避免将所有数据一次性保存在内存中。

关于.net - 哪种数据验证方法最适合大型数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/539733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com