1. Is index always the best way.. Should I really use the index or just do a full table scan.

2. Use bind variables everywhere. Parse once execute many times.

3. Should i partition the table ? What type of partition ? (range,list, hash etc)

4. What can be done in SQL is better done in SQL, never try with PL/SQL.

5. All “drop table” and “truncate table” commands work better after good backup of that table. (Storage is pretty cheap these days!)

6. Classify a query as I/O intensive or CPU intensive. Run a CPU intensive query in identified windows when there is high CPU idle time. (Same with I/O intensive query)

7. Never create any standalone functions/procedures. Package them based on functional dependency of each of them.

8. Table with millions of rows will not respond as fast as the table with 1 million rows.

9. Hardware scalability is not the solution. Design for Application Scalability.

10. Constraints are better enforced at the Database end than the Application end.