内存使用率低的查询

时间:2017-06-21 16:32:41

标签: sql vb.net

我正在使用vb.net上的一个仪表板应用程序,它已经到了一个点,在这个点上,查询的数量非常大,并且随着时间的推移会使用太多内存,因为这将意味着运行数月非停止,我想知道是否有办法在长期运行中显示内存使用率低的标签上的数据库条目数。 我的代码如下,并使用了大量内存(我需要的查询数量在14-25之间,所以这是一个问题。

    GeneralCommand = String.Format("SELECT * FROM fpscdb001_ws_017.ticket WHERE created_on > cast(dateadd(day, -120, getdate()) as date)  AND status_1 = 'In Progress'")
    sdaAllPending = New SqlDataAdapter(GeneralCommand, conn)
    Dim num_pending = sdaAllPending.Fill(data_set, "fpscdb001_ws_017.ticket")
    t_pending.Text = num_pending

1 个答案:

答案 0 :(得分:1)

除非您需要使用数据集,否则您只需要计算要检索的记录数,而不需要将所有这些记录恢复到数据集中。

更改查询以返回记录计数,然后显示该值。

GeneralCommand = String.Format("SELECT Count(*) FROM fpscdb001_ws_017.ticket WHERE created_on > cast(dateadd(day, -120, getdate()) as date)  AND status_1 = 'In Progress'")
sdaAllPending = New SqlDataAdapter(GeneralCommand, conn)
Dim num_pending = sdaAllPending.Fill(data_set, "fpscdb001_ws_017.ticket")
t_pending.Text = data_set.Tables(0).Rows(0).Item(0).ToString()