Sql queries faster?

We are using Sql Server 2k and a VB 6 application.

I find some of the SQL queries take about a minute to retrieve a single record. But then if I try to retrieve the same record a second time it loads pretty quickly in 5 seconds.

What are some of the ways to optimize SQL performance? Would upgrading to newer SQL versions significantly improve performance?
Ricky WhiteAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

You need to create indexes on the table(s) being queried.  If you supply one of the queries and the table definition, I can walk you through setting them up.
kaufmed 👽Commented:
You need to create indexes on the table(s) being queried.
I think that should really say:  You need to create appropriate indexes on your tables. Indexes incur overhead, and too many indexes can actually cause slow down of your DB as well as not having them can. I'm sure yawkey13's intent revolved around this, but I just wanted to make sure it was stated that you have to be smart about how you create your indexes  = )


As an FYI, the reason we create indexes on tables is because without them our queries will cause a "full table scan", and for a high-traffic site this will surely lead to customer flocking to a speedier competitor. Searching every row of the DB every time a query hits your DB is certain to cause performance degradation.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
That is why I asked for this query and table structure.  My intent is to tell him what index(es) to create and why we are created them.
The 7 Worst Nightmares of a Sysadmin

Fear not! To defend your business’ IT systems we’re going to shine a light on the seven most sinister terrors that haunt sysadmins. That way you can be sure there’s nothing in your stack waiting to go bump in the night.

Anthony PerkinsCommented:
I find some of the SQL queries take about a minute to retrieve a single record. But then if I try to retrieve the same record a second time it loads pretty quickly in 5 seconds.
That is called caching.  SQL Server will keep the information in memory for a period of time after you query the information.  That is the reason it is so quick the second time.
Aaron TomoskyDirector of Solutions ConsultingCommented:
What's the size of the db and how much memory does the server have? Keeping the db in memory can sipped things up significantly if possible. If you can rdp into the server you can see if the query is CPU or io bound...
Indexes are the think to look at first here, I'd definitely go down that route before spending money - you might well be able to get 60 and 5 seconds down to zero seconds.

Agree with all experts above. It is most likely about missing index on that particular query.

For a complete check list to optimize your SQL Server application performance, see here
In addition, for your case upgrading to newer version of SQL Server will not improve performance if the necessary index for the query is not created.

New version of SQL Server always come with performance improvement over the older version, but it depends on whether or not the application make use of the new feature (e.g. small scale application may not get much improvement by upgrade). It is better to focus on the 'basic' things first before considering upgrade.
Nitin ShahCommented:
Create Index for all Order by fields and check the difference.
Anthony PerkinsCommented:
I suspect the author no longer cares or has left the building...
Ricky WhiteAuthor Commented:
Thanks all! The issue was with the Sql query.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft SQL Server

From novice to tech pro — start learning today.