C#中的加速执行读取器

时间:2015-07-18 06:54:02

标签: c# sql-server

我在许多循环中使用C#SqlDataReader。不幸的是,我无法读取整个表并将数据存储在列表中。所以我必须一次又一次地创建一个SqlDataReader。创建SqlDataReader后,速度非常快。但是通过SqlDataReader创建ExecuteReader需要花费太多时间。

是否有可能改善SqlDataReader的创建时间?

我使用的是.NET 4.5.1和SQL Server 2008。

string sql = "select CURRENT_TIMESTAMP";
var connection = Connections.Get();

SqlCommand sqlCommand = new SqlCommand(sql, connection);
sqlCommand.CommandTimeout = 0;

var reader = sqlCommand.ExecuteReader(CommandBehavior.Default);

由于 迈克尔

1 个答案:

答案 0 :(得分:0)

string conString = ConfigurationManager.ConnectionStrings["ApplicationServices"].ToString();
SqlConnection conn = new SqlConnection(conString);
conn.Open();
SqlCommand cmd = new SqlCommand("select  TOP 50000 * from users", conn);
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);

请使用DataTableSqlDataAdapter来阅读数据 而不是使用ExecuteReader