What is the purpose of Database Tuning? This sounds like a stupid question but when posed with it on an exam yesterday, I wasn't entirely sure how to answer...I mean I know you have to put indexes on certain fields to speed up slow queries, and I know you have to make sure to load test it to 

I know it has the end goal of making the database faster for read / write access from it's users but the test had alot of ways of putting this:


Giving the same access time to all database users.
Ensuring that all resources are used effectively.


Do either of those answers really embody the purpose of database tuning?
This is obviously opinion based:

What is the purpose of Database Tuning?

My answer would be:


  To minimize (within reason) the expense involved of maintaining a set of
  data that has been deemed important.


Database tuning is an expense in itself.  It costs money to tune.  That's where the 'reasonable' part of my statement comes from.  

Does it make sense to spend 40 hours to tune something that runs once?  Maybe.  Maybe not.  

Does it make sense to spend 40 hours to tune something that runs every second million of times a day?  Probably.

Why do we tune?

We want our queries to run fast because the people waiting for the
results are an expense.  Tuning 'may' allow us to reduce memory, cpu and disk space requirements, saving money.

Tuning is a balancing act - you have to compare the expense involved with 'tuning' against the expense involved in 'not tuning'.

I think searching the Internet for 'What is the purpose of Database Tuning?', you'd find statements similar to this Wiki article.


  Database tuning aims to maximize use of system resources to perform
  work as efficiently and rapidly as possible.


I think, if you took any tuning exercise and kept asking the question 

"So, why am I doing this??? Because of this. And why is that important??...", I think you'll ultimately come down to 'money'.

And that's why we tune (within reason).  Hey - my 2 cents...