I am using a stored procedure to fill a dataset with a large amount of data (47k rows and 8 columns). I am needing to fill two tables with the results of this stored proc.

One table will have data representing 47k reps that currently have credit for a transaction. The other table will be a mirror copy of the 1st table with 47k reps that were supposed to get credit for a transaction. This application is going to take credit from one rep. and give the credit to the other rep record in the 2 mirrored datasets. It's taking 30 seconds for the data adapter fill method to return records to my application. I would like to reduce the amount of time it takes for this request to process.

Here's the contents of the stored proc:

ALTER            PROCEDURE [spGetSalesCode] 

@Period varchar(15)

AS
BEGIN
	-- SET NOCOUNT ON added to prevent 

extra result sets from
	-- interfering with SELECT 

statements.

	SET NOCOUNT ON;

	SELECT Sales_Code, R.RepATTUID AS 

REP_ATTUID, COACH_ATTUID, SM_ATTUID, 

GM_ATTUID, VP_ATTUID, '' AS SVP_ATTUID 
	FROM tSalesCodes S 
	INNER JOIN tRepTable R ON 

S.RepATTUID = R.RepATTUID AND 

S.SummaryMonth = R.SummaryMonth
	INNER JOIN tHierarchy ON 

R.RepATTUID = tHierarchy.Rep_ATTUID AND 

S.SummaryMonth = tHierarchy.SummaryMonth
	WHERE s.SummaryMonth = @Period 
	ORDER BY Sales_Code

END

Here's the call from vb.net

cmd2.Connection = TheDatabase
        cmd2.CommandText = "spGetSalesCode"
        cmd2.CommandType = 

CommandType.StoredProcedure
        

cmd2.Parameters.AddWithValue("@Period", 

MonthVar)
        Dim da2 As New SqlDataAdapter(cmd2)

        da2.Fill(dsSalesCode, "Init Sales 

Code")
        da2.Fill(dsSalesCode, "Disp Sales 

Code")
With ComboBox1
            .DataSource = 

dsSalesCode.Tables("Init Sales Code")
            .DisplayMember = "Sales_Code"
            .SelectedIndex = 0
        End With
        ComboBox1.AutoCompleteMode = 

AutoCompleteMode.SuggestAppend
        ComboBox1.AutoCompleteSource = 

AutoCompleteSource.ListItems
        ComboBox1.DropDownStyle = 

ComboBoxStyle.DropDown


With ComboBox2
            .DataSource = 

dsSalesCode.Tables("Disp Sales Code")
            .DisplayMember = "Sales_Code"
            .SelectedIndex = 0
        End With
        ComboBox2.AutoCompleteMode = 

AutoCompleteMode.SuggestAppend
        ComboBox2.AutoCompleteSource = 

AutoCompleteSource.ListItems
        ComboBox2.DropDownStyle = 

ComboBoxStyle.DropDown

Does anyone have an idea on how I can

better return a relatively large dataset to

vb.net more quickly?

30 Seconds is unacceptable.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.