gpt4 book ai didi

c# - C# 中大型数据集的最佳实践

转载 作者:太空狗 更新时间:2023-10-29 21:29:24 25 4
gpt4 key购买 nike

目前,我正在设计和实现一个软件,该软件必须在具有主从架构的两个表上实现 CRUD 操作。 header 大约有 50 万行,详细信息大约有 10 万行。

将所有这些数据填充到一个数据集中很疯狂,而且数据可能会发生变化,我对拥有数据库的本地副本不感兴趣。 我对该软件运行流畅感兴趣。尽管数据集可能不是最佳解决方案,但我应该使用它来与其他软件部分保持一致。

首先,我认为使用 TypedDataset 和一些方法,如 GetNext() 、 GetFirst() 、 GetByCod() 但我不确定这是否是最佳解决方案....我正在做一个小测试,工作不是很流畅。

我很想知道其他开发人员如何做到这一点、最佳实践以及什么是对大数据进行操作的“最佳选择”。

我正在使用 Visual Studio 2008 和 Sql Server 2005。

添加:当您谈论使用 SqlDataReader 时,您指的是这样的东西吗?

using (SqlConnection con = new SqlConnection(CON)) {

con.Open();
SqlCommand cmd = new SqlCommand("SELECT * FROM TABLE");
cmd.Connection = con;
SqlDataReader rd = cmd.ExecuteReader();
BindingSource bindingSource = new BindingSource();
bindingSource.DataSource = rd;
bindingNavigator1.BindingSource = bindingSource;

txtFCOD.DataBindings.Add("Text", bindingSource, "FIELD");
}

最佳答案

我认为没有办法管理这么大的数据集。

您需要 DataReader,而不是 DataSet。

具有大量数据的数据库的本地副本是实现此类目标的有效方法(来自您的应用程序的快速响应),但您将遇到同步(复制)、并发等问题。

最佳实践是只从服务器获取用户真正需要的数据。您必须通过存储过程等使用服务器端处理

我仍然不知道你想要操作什么数据以及你的应用程序的目的是什么,但是客户端的大量数据还有另一个缺点 - 你的应用程序将需要大量的内存和快速的 CPU。也许您的计算机速度很快并且能够处理这个问题,但请考虑一下当有人在具有 1GHz Atom CPU 的平板电脑上安装您的应用程序时会发生什么。那将是一场灾难。

关于c# - C# 中大型数据集的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9394200/

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