如何增加数据检索

本文关键字:数据 检索 增加 何增加 | 更新日期: 2023-09-27 18:13:53

我有一个查询需要很长时间才能执行,最终超时。

我的任务就是从表中获取特定日期的所有数据。

但是,数据库表在date列上没有索引,查询执行时间长,会超时。

这是我的一段代码:

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);  

有没有办法重写逻辑来提高性能?

如何增加数据检索

与您的DBA交谈。让他创建索引。所有其他你要"修复"的东西,因为这只是浪费你的时间和你的用户的时间。

由于数据库速度慢导致查询超时,因此有以下几种解决方案:

  1. 增加超时值;
  2. 首先在数据库中执行查询,因为通常它们会缓存结果。这将为您预热数据,然而,我完全理解,这可能并不总是可能的;
  3. 在整个日期范围内运行查询,然后在应用程序结束时合并结果;
  4. 只获取所需的列,而不是所有内容。