我有一个非常简单的 select 语句,简单到:
SELECT * FROM vContacts
vContacts 是从 tblContacts 表创建的视图,其中只有 218 条记录。
当我使用上述选择查询时,它需要整个 9.89 秒!填充DataGridView!
我在我的表格上使用View
,DataGridview
因为名称应该是波斯语而不是英语,并且所有字段都存在,没有别的)。
当我尝试在Visual Studios 2010
built-in 中执行 view 语句时SQL Designer
,速度非常快!但在我的 Windows 窗体上需要 10 秒!
更准确地说:
这是视图声明:
SELECT ID, Name, Tel, Mobile, Address, Description
FROM dbo.tblTel
我使用这种方法来检索整个表
public static DataTable GetTable(string tableName, string conncetionString, bool structureOnly = false)
{
DataTable table = new DataTable();
string query = structureOnly ? string.Format("SELECT * FROM {0} WHERE 1=0", tableName) : string.Format("SELECT * FROM {0} ", tableName);
SqlConnection connection = new SqlConnection(conncetionString);
connection.Open();
SqlCommand command = new SqlCommand(query, connection);
SqlDataAdapter reader = new SqlDataAdapter(command);
reader.Fill(table);
connection.Close();
return table;
}
并像这样使用它:
dataGridView.DataSource = DBAPI.GetTable(vContacts,DBAPI.ConnectionString);