我有一个需要很长时间才能执行并最终超时的查询。
我的任务是从表中获取特定日期的所有数据。
但是,数据库表在日期列上没有索引,查询需要很长时间才能执行和超时。
这是我的一段代码:
DateTime dateTo = Convert.ToDateTime(data.DateTo);
DateTime dateFrom = Convert.ToDateTime(data.DateFrom);
command.CommandText = "select * from errorlog where errortime between @dateFrom and @dateTo";
command.Parameters.AddWithValue("@dateTo", dateTo);
command.Parameters.AddWithValue("@dateFrom", dateFrom);
da.SelectCommand = command;
da.Fill(ds);
有没有办法重写逻辑来提高性能?
答案 0 :(得分:3)
与您的DBA交谈。让他创建索引。所有其他你要“修复”的东西都只是浪费你的时间和用户的时间。
答案 1 :(得分:0)
由于数据库速度慢导致查询超时,因此很少有解决方案: