A very important task for which a Database Administrator is responsible for, during the Database Design phase, is Database Performance Design. Discuss techniques commonly used for optimizing database performance.