【发布时间】:2017-06-14 22:25:59
【问题描述】:
在我的 c# mvc 4 应用程序项目中,我们需要从 sqlquery 中获取数据,然后填充到 C# 数据表中。 我们必须用超过 500 万行和 12 列填充数据表。
如果数据已
这是我正在使用的代码。
public DataTable GetTheData()
{
DataTable dtDataTablesList = new DataTable();
string NewconnectionString ="Mycooectionstring";
SqlConnection spContentConn = new SqlConnection(NewconnectionString);
string sqlselectQuery = "select * from table";
try
{
spContentConn.Open();
SqlCommand sqlCmd = new SqlCommand(sqlselectQuery, spContentConn);
sqlCmd.CommandTimeout = 0;
sqlCmd.CommandType = CommandType.Text;
sqlCmd.ExecuteNonQuery();
SqlDataAdapter adptr = new SqlDataAdapter(sqlCmd);
adptr.Fill(dtDataTablesList);
spContentConn.Close();
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (spContentConn != null)
spContentConn.Dispose();
}
return dtDataTablesList;
}
【问题讨论】:
-
你打算用 1M 记录做什么?你不能在任何地方展示它们。处理它们是数据库的用途。 Web 应用程序的运行速度永远不会比具有适当索引的编写良好的查询运行得更快。你想做什么?
-
顺便说一句,您应该使用
using块而不是这个try/finally和无关的catch,这只会破坏调用堆栈。 -
我遇到过一种情况,我需要读取一个大表(5000 万行),然后通过批量上传写入另一个数据库。所以这确实有用。
标签: c# sql-server asp.net-mvc-4 ado.net