我在许多循环中使用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);
由于 迈克尔
答案 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);
请使用DataTable
和SqlDataAdapter
来阅读数据
而不是使用ExecuteReader