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.