[dba-VB] vb.net - Updates

jwcolby jwcolby at colbyconsulting.com
Wed Apr 30 14:59:44 CDT 2008


I added the nolock in both places and it returned first results in 8 
seconds instead of 14.  However the whole result set is still taking 
awhile.  I will post the result when it is in.



John W. Colby
www.ColbyConsulting.com


Shamil Salakhetdinov wrote:
> Yes, it helped, Eric, thanks - the query finished now in ~2 seconds instead
> of ~3 seconds....
> 
> SELECT RowNum, CompetitionresultId from  ( select  
> 	Cast(ROW_NUMBER() over (ORDER BY [CompetitionresultId]) as int) as
> RowNum, CompetitionresultId
>   from [CompetitionresultArc] (nolock)) s  
> 	where (s.RowNum % 10) = 1 
> union all
> Select NULL as RowNum, Max(CompetitionresultId) as CompetitionresultId from
> [CompetitionresultArc] (nolock)
> 
> BTW, Re: JC question on books - I have here "SQL Server 2000, Fast Answers
> for DBAs and Developers" by Joseph Sack - ISBN : 1-59059-592-0 - full of
> useful advices including all kinds of locking - the first time I see so
> detailed advices and samples on that subject (but I must say I didn't read
> that much computer books in the past)...
> 
> Thanks.
> 
> --
> Shamil
> 
> -----Original Message-----
> From: dba-vb-bounces at databaseadvisors.com
> [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of Eric Barro
> Sent: Wednesday, April 30, 2008 10:51 PM
> To: Discussion concerning Visual Basic and related programming issues.
> Subject: Re: [dba-VB] vb.net - Updates
> 
> try to add (nolock) after the table names in your select queries...
> 
> From: Shamil Salakhetdinov <shamil at smsconsulting.spb.ru>
> Date: 2008/04/30 Wed PM 01:22:08 CDT
> To: 
> 	"'Discussion concerning Visual Basic and related programming
> issues.'" <dba-vb at databaseadvisors.com>
> Subject: Re: [dba-VB] vb.net - Updates
> 
> John,
> 
> Yes, I do realize it returns 96K records...
> 
> I'm sorry - I should have not used anything except PK in the query fields'
> list - i.e. I wanted to run this query:
> 
> SELECT RowNum, PKID from  ( select  
> 	Cast(ROW_NUMBER() over (ORDER BY [PKID]) as int) as RowNum, PKID
>   from [Names]) s  
> 	where (s.RowNum % 1000) = 1 
> union all
> Select NULL as RowNum, Max(PKID) as PKID from [Names]
> 
> I expected it will use only the index and therefore should run rather
> quickly producing first results instantly and finishing within 3(? three ?)
> seconds?
> 
> Here I have tested similar query against a table with only 1,374,163 rows
> but queried every 10th row, i.e. it returned 137K rows, and this query
> finished in 3 seconds:
> 
> SELECT RowNum, CompetitionresultId from  ( select  
> 	Cast(ROW_NUMBER() over (ORDER BY [CompetitionresultId]) as int) as
> RowNum, CompetitionresultId
>   from [CompetitionresultArc]) s  
> 	where (s.RowNum % 10) = 1 
> union all
> Select NULL as RowNum, Max(CompetitionresultId) as CompetitionresultId from
> [CompetitionresultArc]
> 
> Thanks.
> 
> --
> Shamil
> 
> 
> _______________________________________________
> dba-VB mailing list
> dba-VB at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/dba-vb
> http://www.databaseadvisors.com
> 
> 



More information about the dba-VB mailing list