为什么我开发的软件速度这么慢?怎么办?
是C/S结构,软件就是普通的管理软件,读取SQL2000的数据。打开界面后,进行软件操作,每当第一次点击到数据显示出来,一般要3-4秒的时间,而第二次再打开速度就快非常多了,这是为什么?
其实主要的代码就是这样,我觉得应该没什么问题才对,会不会是因为第一次读取SQL数据库连接会比较慢还是?有什么优化的办法吗?请各位高手指点迷津。
代码:
string sqlstr = ""; string sqlno = "";
switch (status)
{
case "档案管理":
sqlstr = "select 员工编号,姓名,性别,年龄,籍贯,学历,部门,职务,职称,联系电话,电子邮件,入职日期,本单位工龄,工龄 from t_personinfo";
conn.Open();
SqlCommand cmd = new SqlCommand("select * from t_branch", conn);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
cbxbranch.Items.Add(dr["部门"]);
}
dr.Close();
conn.Close();
sqlno = "select count(*) from t_personinfo";
int i = DBHRSystem.GetNo(sqlno);
lbltotal.Text = "所有员工共有" + i.ToString() + "人";
break;
------解决方案--------------------数据量多的话,就采用分页查询
不要显示的数据字段,就不必要查询出来
------解决方案--------------------cbxbranch.Items.Add(dr[ "部门 "]);
这影响速度,组成数组,直接绑定
------解决方案--------------------数据量多的话,就采用分页查询
不要显示的数据字段,就不必要查询出来
datareader个dataset读取数据尽量用索引。
数据库字段名最好不要用汉字。
.net程序第一次都比较慢。
------解决方案--------------------是第一次运行慢,要先编译
第二次以后就会快了