日期:2014-05-18  浏览次数:21027 次

为什么我开发的软件速度这么慢?怎么办?
是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程序第一次都比较慢。
------解决方案--------------------
是第一次运行慢,要先编译
第二次以后就会快了