Я пытаюсь повысить производительность приложения, над которым я работаю.
Мой DoWork получает мои данные.
Private Sub Bgw_GetTasks_DoWork(sender As Object, e As DoWorkEventArgs)
TasksDS = GetDataFromSQL("[dbo].[GetTasks]")
End Sub
Мой RunWorkerCompleted.
Private Sub Bgw_GetTasks_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs)
If TasksDS.Tables.Count > 1 Then
rgv_TasksGrid.DataSource = TasksDS.Tables(0).DefaultView
Dim taskLinesTemplate As New GridViewTemplate With {
.DataSource = TasksDS.Tables(1)
}
rgv_TasksGrid.MasterTemplate.Templates.Add(taskLinesTemplate)
Dim relation As New GridViewRelation(rgv_TasksGrid.MasterTemplate) With {
.ChildTemplate = taskLinesTemplate,
.RelationName = "TaskOrderLines"
}
relation.ParentColumnNames.Add("Order No")
relation.ChildColumnNames.Add("order_no")
rgv_TasksGrid.Relations.Add(relation)
rgv_TasksGrid.Templates(0).EnableGrouping = False
rgv_TasksGrid.Templates(0).AllowEditRow = False
rgv_TasksGrid.Templates(0).AllowAddNewRow = False
rgv_TasksGrid.Templates(0).AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill
For Each col As GridViewDataColumn In rgv_TasksGrid.Columns
If Not (col.Name = "Order No" Or
col.Name = "Order Val" Or
col.Name = "Pick Val" Or
col.Name = "Pick Profit" Or
col.Name = "Customer" Or
col.Name = "Customer Name" Or
col.Name = "Task Type" Or
col.Name = "Note" Or
col.Name = "Followup Date" Or
col.Name = "Rep" Or
col.Name = "CO") Then
col.IsVisible = False
End If
Next
End If
End Sub
Моя хранимая процедура в настоящее время занимает около 8 секунд. Иерархия добавляет примерно 5-10 секунд ко времени загрузки.
Есть ли способ, которым я могу улучшить это.