Chapter 8. Performance Tuning


We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.

 --Donald Knuth

Getting top performance from a database management system is a fine art. Symbian SQL is no different from other environments in this respect. There are so many parameters to consider and tweak at so many levels that investigating and analyzing all possibilities is not an option.

Performance considerations are essential for applications using database systems. RDBMS is about scaling and managing large amounts of data consistently so, by definition, performance is one of the key benefits of using databases.

Ensuring good performance requires a two-pronged attack:

  • design for performance

  • optimization.

Design for performance can be viewed as a component of the software development process. There are some things in the way we do business that can ensure that late optimization can satisfy performance objectives with minimal refactoring.

Optimization is rather an opposite process. Optimization is bounded by the high cost of refactoring and, in an ideal case, should focus on peripheral, low-level tweaks. In reality, it is often the case that optimization goes deeper than this – which just highlights the importance of good design decisions.

In this chapter, we very briefly discuss design and development considerations. Then, we propose an optimization workflow for streamlining an existing application with practical details for different ...

Get Inside Symbian SQL: A Mobile Developer's Guide to SQLite now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.